Référence de l’API Banger

Utilisez l’API Banger pour gérer les boîtes mail, envoyer des e-mails, gérer les contacts et exécuter des campagnes et des parcours dans votre espace de travail.

Connectez votre espace de travail

URL de base : https://api.bangermail.com

Télécharger OpenAPI (JSON OpenAPI 3.1 avec les mêmes opérations que cette page), pour les générateurs de code, les clients API et les agents IA.

Dans l’application Banger, ouvrez Paramètres → Développeurs → Gérer les clés API. Choisissez Créer une clé API, saisissez un nom, sélectionnez les portées nécessaires à votre application, puis choisissez Créer la clé. Copiez la clé maintenant : elle n’est affichée qu’une fois et ne peut pas être récupérée.

Les clés d’espace de travail ont le format bgr_<12-character prefix>_<secret>. Définissez votre clé comme BANGER_API_KEY dans votre environnement et authentifiez les requêtes de l’espace de travail avec :

Authorization: Bearer <workspace API key>

Les routes de formulaires d’inscription publics ci-dessous ne nécessitent pas d’authentification. Chaque opération précise si un jeton Bearer est requis. Remplacez les paramètres de chemin comme {workspaceId} par les ID de vos ressources avant d’exécuter les exemples.

Requêtes et réponses

Les réponses JSON regroupent généralement les résultats dans { data } et les erreurs dans { error: { code, message } }. Certains points de terminaison renvoient d’autres formats ou aucun contenu ; consultez la définition de réponse de l’opération.

Envoyez Idempotency-Key lorsqu’il figure dans les paramètres d’en-tête, en réutilisant la même clé pour réessayer la même requête. Le contrat définit des contraintes de longueur différentes selon les opérations ; suivez le tableau des paramètres.

La pagination dépend du point de terminaison. Avec les paramètres partagés cursor et limit, le curseur est une chaîne de 1,024 caractères maximum et la limite vaut 50 par défaut, dans une plage de 1–100. Les autres points de terminaison définissent leurs propres paramètres et champs de réponse, comme next_cursor ; suivez ces schémas.

Les exemples sont générés à partir des exemples, valeurs par défaut, énumérations et types de schéma du contrat. Remplacez les valeurs illustratives par vos données. L’absence d’un schéma de corps ou de réponse est signalée ci-dessous.

Ces fonctionnalités sont aussi accessibles aux assistants IA via le serveur MCP Banger.

Produits

GET/v1/workspaces/{workspaceId}/products

Lister les produits de l’espace de travail

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • slugstringobligatoire
  • kindstringobligatoire

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • website_urlstring | nullobligatoire
  • domainsarrayobligatoire
  • Chaque élémentstring
  • descriptionstringobligatoire
  • contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • statusstringobligatoire

    deleting : supprimé par une personne ; restaurable jusqu’à delete_after, puis supprimé définitivement.

    enum: "active", "archived", "deleting"

  • delete_afterstring | null

    Date de suppression définitive d’un produit en état deleting.

    format: "date-time"

  • is_defaultbooleanobligatoire
  • route_readybooleanobligatoire
  • setuparrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • completion_sourcestring | nullobligatoire

    enum: "system", "person", "agent", null

  • notestringobligatoire
  • updated_atstring | nullobligatoire

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/products

Créer un produit

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestringobligatoire

    minLength: 1 · maxLength: 160

  • kindstring

    default: "product" · enum: "product", "store", "brand", "newsletter", "company", "other"

  • website_urlstring | null

    maxLength: 2000

  • descriptionstring

    maxLength: 4000

  • contextobject
  • Propriété supplémentaireToute valeur
  • domainsarray

    maxItems: 20

  • Chaque élémentstring

    maxLength: 253

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • slugstringobligatoire
  • kindstringobligatoire

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • website_urlstring | nullobligatoire
  • domainsarrayobligatoire
  • Chaque élémentstring
  • descriptionstringobligatoire
  • contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • statusstringobligatoire

    deleting : supprimé par une personne ; restaurable jusqu’à delete_after, puis supprimé définitivement.

    enum: "active", "archived", "deleting"

  • delete_afterstring | null

    Date de suppression définitive d’un produit en état deleting.

    format: "date-time"

  • is_defaultbooleanobligatoire
  • route_readybooleanobligatoire
  • setuparrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • completion_sourcestring | nullobligatoire

    enum: "system", "person", "agent", null

  • notestringobligatoire
  • updated_atstring | nullobligatoire

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "kind": "product",
  "website_url": "example",
  "description": "example",
  "context": {},
  "domains": [
    "example"
  ]
}'
GET/v1/workspaces/{workspaceId}/products/{productId}

Obtenir un produit

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

productId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • slugstringobligatoire
  • kindstringobligatoire

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • website_urlstring | nullobligatoire
  • domainsarrayobligatoire
  • Chaque élémentstring
  • descriptionstringobligatoire
  • contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • statusstringobligatoire

    deleting : supprimé par une personne ; restaurable jusqu’à delete_after, puis supprimé définitivement.

    enum: "active", "archived", "deleting"

  • delete_afterstring | null

    Date de suppression définitive d’un produit en état deleting.

    format: "date-time"

  • is_defaultbooleanobligatoire
  • route_readybooleanobligatoire
  • setuparrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • completion_sourcestring | nullobligatoire

    enum: "system", "person", "agent", null

  • notestringobligatoire
  • updated_atstring | nullobligatoire

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/products/{productId}

Mettre à jour un produit

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

productId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestring

    maxLength: 160

  • kindstring

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • website_urlstring | null

    maxLength: 2000

  • descriptionstring

    maxLength: 4000

  • contextobject
  • Propriété supplémentaireToute valeur
  • brandobject
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • statusstring

    enum: "active", "archived"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • slugstringobligatoire
  • kindstringobligatoire

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • website_urlstring | nullobligatoire
  • domainsarrayobligatoire
  • Chaque élémentstring
  • descriptionstringobligatoire
  • contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • statusstringobligatoire

    deleting : supprimé par une personne ; restaurable jusqu’à delete_after, puis supprimé définitivement.

    enum: "active", "archived", "deleting"

  • delete_afterstring | null

    Date de suppression définitive d’un produit en état deleting.

    format: "date-time"

  • is_defaultbooleanobligatoire
  • route_readybooleanobligatoire
  • setuparrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • completion_sourcestring | nullobligatoire

    enum: "system", "person", "agent", null

  • notestringobligatoire
  • updated_atstring | nullobligatoire

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "kind": "product",
  "website_url": "example",
  "description": "example",
  "context": {},
  "brand": {
    "company_name": "example",
    "logo_url": "example",
    "wordmark_url": "example",
    "website_url": "example",
    "primary_color": "example",
    "accent_color": "example",
    "background_color": "example",
    "surface_color": "example",
    "text_color": "example",
    "muted_text_color": "example",
    "heading_font_family": "example",
    "body_font_family": "example",
    "tone": "example",
    "footer_address": "example",
    "email_style": "example"
  },
  "status": "active"
}'
DELETE/v1/workspaces/{workspaceId}/products/{productId}

Supprimez un produit (un projet dans l’application) après examen de son aperçu de suppression. Il cesse immédiatement d’être utilisé (ses envois s’arrêtent) et reste restaurable pendant 24 heures ; Banger supprime ensuite ses domaines d’envoi et toutes ses lignes. Le dernier produit actif de l’espace de travail ne peut pas être supprimé. Nécessite un administrateur de l’espace de travail et une session connectée ; les clés API et autorisations OAuth sont refusées.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

productId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • confirm_namestringobligatoire

    Le nom exact du produit.

    minLength: 1 · maxLength: 160

  • preview_tokenstringobligatoire

    minLength: 64 · maxLength: 64

Réponse réussie 202

Le produit est hors service et sera supprimé définitivement à delete_after, sauf restauration préalable. Une répétition idempotente renvoie le même résultat.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire

    enum: "deleting"

  • delete_afterstringobligatoire

    Date de suppression définitive du produit ; il peut être restauré jusque-là.

    format: "date-time"

  • next_product_idstringobligatoire

    Le produit par défaut actuel de l’espace de travail.

    format: "uuid"

  • replayedboolean

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "confirm_name": "example",
  "preview_token": "examplexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'
GET/v1/workspaces/{workspaceId}/products/{productId}/deletion-preview

Prévisualisez la suppression d’un produit et de tout ce qui lui appartient, sans rien supprimer. Nécessite un administrateur de l’espace de travail, connecté ou via OAuth autorisé par l’utilisateur.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

productId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Ce que la suppression du produit retire et arrête.

application/json

  • valueobject
  • dataobjectobligatoire
  • productobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • is_defaultbooleanobligatoire
  • next_default_productnon préciséobligatoire

    Le produit qui devient celui par défaut de l’espace de travail lorsque le produit par défaut est supprimé.

  • oneOf 1null
  • oneOf 2object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • last_productbooleanobligatoire

    Le seul produit actif ne peut pas être supprimé.

  • mailboxesarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • domainsarrayobligatoire

    Domaines d’envoi supprimés par Banger après expiration du délai de restauration.

  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • domainstringobligatoire
  • journeysintegerobligatoire
  • broadcastsintegerobligatoire
  • signup_formsintegerobligatoire
  • contactsintegerobligatoire
  • api_keysintegerobligatoire
  • webhooksintegerobligatoire
  • pending_sendsintegerobligatoire
  • impactarrayobligatoire
  • Chaque élémentstring
  • preview_tokenstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}/deletion-preview' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/products/{productId}/restore

Restaurez un produit supprimé avant son delete_after. Ses boîtes mail, Parcours, formulaires d’inscription, webhooks et intégrations sont réactivés ; les Campagnes restent en pause. Nécessite un administrateur de l’espace de travail, connecté ou via OAuth autorisé par l’utilisateur.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

productId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Le produit est de nouveau actif.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire

    enum: "active"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}/restore' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/products/{productId}/setup/{key}

Mettre à jour un élément de configuration du produit

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

productId
path · obligatoire
  • valuestring

    format: "uuid"

key
path · obligatoire
  • valuestring

    enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"

Corps de la requête obligatoire

application/json

  • valueobject
  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • completion_sourcestring

    default: "person" · enum: "system", "person", "agent"

  • notestring

    maxLength: 1000

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • keystringobligatoire

    enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • completion_sourcestring | nullobligatoire

    enum: "system", "person", "agent", null

  • notestringobligatoire
  • updated_atstring | nullobligatoire

    format: "date-time"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}/setup/{key}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "status": "todo",
  "completion_source": "person",
  "note": "example"
}'
POST/v1/workspaces/{workspaceId}/products/{productId}/domains

Associer un domaine à un produit

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

productId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • domainstringobligatoire

    minLength: 3 · maxLength: 253

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • slugstringobligatoire
  • kindstringobligatoire

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • website_urlstring | nullobligatoire
  • domainsarrayobligatoire
  • Chaque élémentstring
  • descriptionstringobligatoire
  • contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • statusstringobligatoire

    deleting : supprimé par une personne ; restaurable jusqu’à delete_after, puis supprimé définitivement.

    enum: "active", "archived", "deleting"

  • delete_afterstring | null

    Date de suppression définitive d’un produit en état deleting.

    format: "date-time"

  • is_defaultbooleanobligatoire
  • route_readybooleanobligatoire
  • setuparrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • completion_sourcestring | nullobligatoire

    enum: "system", "person", "agent", null

  • notestringobligatoire
  • updated_atstring | nullobligatoire

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}/domains' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain": "example"
}'

Boîtes mail

GET/v1/workspaces/{workspaceId}/mailboxes

listMailboxes

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Boîtes mail visibles par l’acteur.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • product_idstring | null

    Le produit (projet) auquel appartient la boîte mail. Les clients l’utilisent pour regrouper les boîtes mail et créer des liens vers l’application web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatoire

    format: "email"

  • display_namestringobligatoire
  • providerstringobligatoire

    enum: "gmail", "smtp"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatoire

    enum: "domain", "starter"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailboxes' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/mailboxes

Créez une boîte mail professionnelle native Banger sur un domaine d’envoi de l’espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • local_partstringobligatoire

    minLength: 1 · maxLength: 64

  • display_namestring

    maxLength: 200

Réponse réussie 200

Répétition idempotente de la création d’une boîte mail native.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • product_idstring | null

    Le produit (projet) auquel appartient la boîte mail. Les clients l’utilisent pour regrouper les boîtes mail et créer des liens vers l’application web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatoire

    format: "email"

  • display_namestringobligatoire
  • providerstringobligatoire

    enum: "gmail", "smtp"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatoire

    enum: "domain", "starter"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailboxes' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain_id": "00000000-0000-4000-8000-000000000001",
  "local_part": "example",
  "display_name": "example"
}'
GET/v1/workspaces/{workspaceId}/mailboxes/{mailboxId}/deletion-preview

Prévisualisez la suppression définitive d’une boîte mail et des flux d’envoi dépendants. Nécessite un administrateur de l’espace de travail et une portée produit.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailboxId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Boîte mail exacte et impact actuel de la suppression, sans rien supprimer.

application/json

  • valueobject
  • dataobjectobligatoire
  • mailboxobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • providerstringobligatoire
  • domain_idstring | nullobligatoire

    format: "uuid"

  • provider_connection_idstring | nullobligatoire

    format: "uuid"

  • messagesintegerobligatoire
  • draftsintegerobligatoire
  • pending_sendsintegerobligatoire
  • broadcastsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire
  • journeysarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire
  • signup_formsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire
  • impactarrayobligatoire
  • Chaque élémentstring
  • preview_tokenstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailboxes/{mailboxId}/deletion-preview' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/mailboxes/{mailboxId}

Définissez le nom d’expéditeur affiché aux destinataires pour une boîte mail Banger ("Name <address>"). Les boîtes mail Gmail conservent le nom défini dans Gmail. Nécessite un administrateur de l’espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailboxId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • display_namestringobligatoire

    Une ligne. Vide, envoie l’adresse seule.

    maxLength: 200

Réponse réussie 200

La boîte mail avec son nom d’expéditeur.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • product_idstring | null

    Le produit (projet) auquel appartient la boîte mail. Les clients l’utilisent pour regrouper les boîtes mail et créer des liens vers l’application web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatoire

    format: "email"

  • display_namestringobligatoire
  • providerstringobligatoire

    enum: "gmail", "smtp"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatoire

    enum: "domain", "starter"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailboxes/{mailboxId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "display_name": "example"
}'
DELETE/v1/workspaces/{workspaceId}/mailboxes/{mailboxId}

Supprimez définitivement une boîte mail en conservant son domaine et les autres boîtes mail. Nécessite un administrateur de l’espace de travail et une portée produit.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailboxId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • confirm_addressstringobligatoire

    minLength: 3 · maxLength: 320

  • preview_tokenstringobligatoire

    minLength: 64 · maxLength: 64

Réponse réussie 200

Suppression ou répétition idempotente. Les fichiers stockés sont mis en file pour nettoyage définitif.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • deletedbooleanobligatoire
  • replayedboolean

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailboxes/{mailboxId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "confirm_address": "example",
  "preview_token": "examplexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'
POST/v1/workspaces/{workspaceId}/mailboxes/starter

Créez une boîte mail hébergée limitée aux boîtes de réception hébergées du même produit et au destinataire d’inscription de l’espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • create_newboolean

    Créez une boîte mail hébergée supplémentaire au lieu de reprendre la première.

  • local_partstring

    Nom avant @bangermail.com. Sans celui-ci, la boîte mail reçoit un nom composé de mots comme quiet-maple-harbor.

    minLength: 3 · maxLength: 40

  • display_namestring

    maxLength: 200

Réponse réussie 200

Répétition idempotente de la création d’une identité initiale.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • product_idstring | null

    Le produit (projet) auquel appartient la boîte mail. Les clients l’utilisent pour regrouper les boîtes mail et créer des liens vers l’application web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatoire

    format: "email"

  • display_namestringobligatoire
  • providerstringobligatoire

    enum: "gmail", "smtp"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatoire

    enum: "domain", "starter"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailboxes/starter' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "create_new": true,
  "local_part": "example",
  "display_name": "example"
}'
POST/v1/workspaces/{workspaceId}/mailboxes/{mailboxId}/reactivate

Levez la pause liée à la réputation de l’expéditeur d’une boîte mail, selon les règles de reprise en libre-service de resumeSending.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailboxId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • acknowledge_recipient_complaintbooleanobligatoire

    const: true

  • reasonstring

    Motif du rétablissement de l’envoi ; consigné dans le journal d’audit.

    maxLength: 500

Réponse réussie 200

Boîte mail réactivée ou déjà active après une requête précédente réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • product_idstring | null

    Le produit (projet) auquel appartient la boîte mail. Les clients l’utilisent pour regrouper les boîtes mail et créer des liens vers l’application web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatoire

    format: "email"

  • display_namestringobligatoire
  • providerstringobligatoire

    enum: "gmail", "smtp"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatoire

    enum: "domain", "starter"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailboxes/{mailboxId}/reactivate' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "acknowledge_recipient_complaint": true,
  "reason": "example"
}'

Brouillons

GET/v1/workspaces/{workspaceId}/drafts

listDrafts

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstring | nullobligatoire

    format: "uuid"

  • versionintegerobligatoire
  • toarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • ccarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • bccarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • subjectstringobligatoire
  • body_textstringobligatoire
  • statusstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • attachmentsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • content_typestringobligatoire
  • size_bytesintegerobligatoire
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts?mailbox_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/drafts

createDraft

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • toarray

    maxItems: 500

  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • ccarray

    maxItems: 500

  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • bccarray

    maxItems: 500

  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstring | nullobligatoire

    format: "uuid"

  • versionintegerobligatoire
  • toarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • ccarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • bccarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • subjectstringobligatoire
  • body_textstringobligatoire
  • statusstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • attachmentsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • content_typestringobligatoire
  • size_bytesintegerobligatoire
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "thread_id": "00000000-0000-4000-8000-000000000001",
  "to": [
    {
      "name": "example",
      "email": "person@example.com"
    }
  ],
  "cc": [
    {
      "name": "example",
      "email": "person@example.com"
    }
  ],
  "bcc": [
    {
      "name": "example",
      "email": "person@example.com"
    }
  ],
  "subject": "example",
  "body_text": "example",
  "body_html": "example"
}'
GET/v1/workspaces/{workspaceId}/drafts/{draftId}

getDraft

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

draftId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Performances, état et incidents canoniques de délivrabilité.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstring | nullobligatoire

    format: "uuid"

  • versionintegerobligatoire
  • toarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • ccarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • bccarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • subjectstringobligatoire
  • body_textstringobligatoire
  • statusstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • attachmentsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • content_typestringobligatoire
  • size_bytesintegerobligatoire
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/drafts/{draftId}

updateDraft

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

draftId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valuenon précisé
  • allOf 1object

    Aucune propriété supplémentaire

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • toarray

    maxItems: 500

  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • ccarray

    maxItems: 500

  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • bccarray

    maxItems: 500

  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • allOf 2object
  • versionintegerobligatoire

    minimum: 1

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstring | nullobligatoire

    format: "uuid"

  • versionintegerobligatoire
  • toarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • ccarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • bccarrayobligatoire
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • subjectstringobligatoire
  • body_textstringobligatoire
  • statusstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • attachmentsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • content_typestringobligatoire
  • size_bytesintegerobligatoire
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "thread_id": "00000000-0000-4000-8000-000000000001",
  "to": [
    {
      "name": "example",
      "email": "person@example.com"
    }
  ],
  "cc": [
    {
      "name": "example",
      "email": "person@example.com"
    }
  ],
  "bcc": [
    {
      "name": "example",
      "email": "person@example.com"
    }
  ],
  "subject": "example",
  "body_text": "example",
  "body_html": "example",
  "version": 1
}'
DELETE/v1/workspaces/{workspaceId}/drafts/{draftId}

deleteDraft

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

draftId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Brouillon et objets référencés programmés pour suppression.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/drafts/{draftId}/send

sendDraft

Envoie le brouillon depuis sa boîte mail, à laquelle l’appelant doit avoir accès. Si ses envois nécessitent une approbation, une approbation en attente est créée ; une personne autorisée à envoyer directement le brouillon décide.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

draftId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 202

L’envoi est en file ou attend une approbation.

application/json

  • valueobject
  • datanon préciséobligatoire
  • oneOf 1object
  • idstringobligatoire

    format: "uuid"

  • typestringobligatoire
  • statusstringobligatoire

    enum: "accepted", "executing", "succeeded", "failed"

  • workspace_revisionintegerobligatoire

    format: "int64"

  • created_atstringobligatoire

    format: "date-time"

  • oneOf 2object

    Aucune propriété supplémentaire

  • approvalobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • checksarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}/send' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx'
POST/v1/workspaces/{workspaceId}/drafts/{draftId}/attachments

uploadDraftAttachment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

draftId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Filename
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 500

Corps de la requête obligatoire

application/octet-stream

  • valuestring

    format: "binary" · maxLength: 26214400

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • content_typestringobligatoire
  • size_bytesintegerobligatoire
  • sha256string
  • created_atstring

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}/attachments' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Filename: example' \
  --header 'Content-Type: application/octet-stream' \
  --data-binary @request-body
DELETE/v1/workspaces/{workspaceId}/drafts/{draftId}/attachments/{attachmentId}

deleteDraftAttachment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

draftId
path · obligatoire
  • valuestring

    format: "uuid"

attachmentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Pièce jointe programmée pour suppression B2 tenant compte des versions.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}/attachments/{attachmentId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/drafts/{draftId}/html

Lire le corps HTML d’un brouillon

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

draftId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

HTML du brouillon.

text/html

  • valuestring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}/html' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Envoi

GET/v1/workspaces/{workspaceId}/send-intents

listSendIntents

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Envois canoniques récents et leur état chez le fournisseur.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "accepted", "scheduled", "queued", "executing", "partially_succeeded", "succeeded", "failed", "canceled"

  • traffic_classstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • recipient_countintegerobligatoire

    minimum: 1

  • provider_keystringobligatoire
  • provider_statestringobligatoire

    enum: "pending", "leased", "submitted", "accepted", "ambiguous", "reconciling", "succeeded", "failed", "canceled"

  • provider_message_idstring | null
  • error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/send-intents?limit=50' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/send-intents/{sendIntentId}

getSendIntent

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

sendIntentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État canonique de l’envoi asynchrone.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "accepted", "scheduled", "queued", "executing", "partially_succeeded", "succeeded", "failed", "canceled"

  • traffic_classstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • recipient_countintegerobligatoire

    minimum: 1

  • provider_keystringobligatoire
  • provider_statestringobligatoire

    enum: "pending", "leased", "submitted", "accepted", "ambiguous", "reconciling", "succeeded", "failed", "canceled"

  • provider_message_idstring | null
  • error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/send-intents/{sendIntentId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Envoi transactionnel

GET/v1/workspaces/{workspaceId}/transactional-sends

listTransactionalSends

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 500 · default: 200

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • command_idstring | nullobligatoire

    format: "uuid"

  • statusstringobligatoire
  • command_statusstring | nullobligatoire
  • subjectstring
  • recipientsarray
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • recipient_countintegerobligatoire
  • error_codestring | null
  • send_intent_idstring

    format: "uuid"

  • providerstring | null
  • route_kindstring | null
  • sourcestring
  • from_addressstring
  • recipient_statesobject
  • Propriété supplémentaireinteger
  • provider_message_idstring | null
  • languagenon précisé

    Langue dans laquelle cet e-mail a été envoyé ; null s’il n’a pas été traduit.

  • anyOf 1object

    Langue dans laquelle une personne a reçu un e-mail. Seuls les e-mails traduits (contenu géré) en ont une.

  • localestringobligatoire

    Étiquette BCP 47 de la langue de rédaction de l’e-mail.

  • requested_localestring

    Présent uniquement sur un ancien envoi parti dans une autre langue : la langue que la personne aurait dû recevoir.

  • fallback_reasonstring

    enum: "translation_missing", "translation_pending", "translation_review_required", "translation_failed", "translation_timeout"

  • anyOf 2null
  • journeyobject | null

    Étape et inscription du Parcours ayant envoyé cet e-mail ; null pour les autres envois.

  • journey_idstringobligatoire

    format: "uuid"

  • step_idstringobligatoire

    format: "uuid"

  • enrollment_idstringobligatoire

    format: "uuid"

  • experimentobject | null

    Variante d’expérience de cet e-mail ; null si aucune ne s’appliquait.

  • experiment_idstringobligatoire

    format: "uuid"

  • variant_keystringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • template_idstring | null

    format: "uuid"

  • template_versioninteger | null
  • workspace_revisioninteger | null
  • command_resultobject
  • Propriété supplémentaireToute valeur
  • command_started_atstring | null

    format: "date-time"

  • command_completed_atstring | null

    format: "date-time"

  • body_textstring
  • body_htmlstring
  • reply_toarray
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • headersobject
  • Propriété supplémentairestring
  • tagsarray
  • Chaque élémentobject
  • namestringobligatoire
  • valuestringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/transactional-sends?limit=200' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/transactional-sends

createTransactionalSend

Un destinataire par envoi de Parcours. To accepte un destinataire dans tout format RecipientInput ("a@example.com", "Pat <a@example.com>", { email, name } ou une liste d’un élément) ; Cc et Bcc doivent être vides. reply_to utilise par défaut la boîte mail du Parcours (une liste vide signifie aussi la valeur par défaut) ; l’e-mail Produit en nécessite exactement un. Un nouveau Parcours API utilise par défaut un contenu source géré ; les Parcours de code hérités conservent les envois à contenu complet. Un refus (4xx) ne fige rien pour le destinataire : un appel corrigé avec une nouvelle clé d’idempotence envoie donc l’e-mail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject
  • mailbox_idstringobligatoire

    format: "uuid"

  • tonon préciséobligatoire

    Destinataires de to, cc, bcc et reply_to : une adresse ("a@example.com" ou "Pat <a@example.com>"), un objet { email, name } ou une liste mélangeant les deux. Banger les stocke en objets { email, name } avec l’e-mail en minuscules. Le hash d’idempotence couvre le corps tel qu’envoyé : réessayez avec le même format.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatoire

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Chaque élémentnon précisé
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatoire

    format: "email"

  • ccarray

    maxItems: 0

  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • bccarray

    maxItems: 0

  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • subjectstring

    maxLength: 10000

  • expires_atstring

    Abandonnez un envoi différé de Parcours après cet instant ; au plus sept jours après la requête initiale.

    format: "date-time"

  • expires_after_secondsinteger

    minimum: 1 · maximum: 604800

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • reply_tonon précisé

    Destinataires de to, cc, bcc et reply_to : une adresse ("a@example.com" ou "Pat <a@example.com>"), un objet { email, name } ou une liste mélangeant les deux. Banger les stocke en objets { email, name } avec l’e-mail en minuscules. Le hash d’idempotence couvre le corps tel qu’envoyé : réessayez avec le même format.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatoire

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Chaque élémentnon précisé
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatoire

    format: "email"

  • headersobject
  • Propriété supplémentairestring

    maxLength: 5000

  • tagsarray

    maxItems: 49

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 256

  • valuestringobligatoire

    minLength: 1 · maxLength: 256

Réponse réussie 202

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • action_kindstringobligatoire

    enum: "transactional.send"

  • idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • provider_attempt_idstring

    format: "uuid"

  • statusstringobligatoire

    États sent/queued de livraison ou, pour une requête figée : deferred (planifiée par la politique ou en attente de traduction), processing (en cours d’envoi), discarded.

  • replayedboolean
  • journeynon préciséobligatoire
  • anyOf 1object
  • journey_idstringobligatoire

    format: "uuid"

  • enrollment_idstringobligatoire

    format: "uuid"

  • step_idstringobligatoire

    format: "uuid"

  • step_positionintegerobligatoire
  • originstring

    enum: "journey"

  • journey_identitystring
  • anyOf 2null
  • ignored_variablesarrayobligatoire
  • Chaque élémentstring
  • scheduled_atstring

    format: "date-time"

  • reasonstring
  • communication_reservation_idstring

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/transactional-sends' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "to": "example",
  "cc": [
    {
      "name": "example",
      "email": "person@example.com"
    }
  ],
  "bcc": [
    {
      "name": "example",
      "email": "person@example.com"
    }
  ],
  "subject": "example",
  "expires_at": "2026-01-01T00:00:00Z",
  "expires_after_seconds": 1,
  "body_text": "example",
  "body_html": "example",
  "reply_to": "example",
  "headers": {},
  "tags": [
    {
      "name": "example",
      "value": "example"
    }
  ]
}'
GET/v1/workspaces/{workspaceId}/transactional-sends/{transactionalSendId}

getTransactionalSend

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

transactionalSendId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • command_idstring | nullobligatoire

    format: "uuid"

  • statusstringobligatoire
  • command_statusstring | nullobligatoire
  • subjectstring
  • recipientsarray
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • recipient_countintegerobligatoire
  • error_codestring | null
  • send_intent_idstring

    format: "uuid"

  • providerstring | null
  • route_kindstring | null
  • sourcestring
  • from_addressstring
  • recipient_statesobject
  • Propriété supplémentaireinteger
  • provider_message_idstring | null
  • languagenon précisé

    Langue dans laquelle cet e-mail a été envoyé ; null s’il n’a pas été traduit.

  • anyOf 1object

    Langue dans laquelle une personne a reçu un e-mail. Seuls les e-mails traduits (contenu géré) en ont une.

  • localestringobligatoire

    Étiquette BCP 47 de la langue de rédaction de l’e-mail.

  • requested_localestring

    Présent uniquement sur un ancien envoi parti dans une autre langue : la langue que la personne aurait dû recevoir.

  • fallback_reasonstring

    enum: "translation_missing", "translation_pending", "translation_review_required", "translation_failed", "translation_timeout"

  • anyOf 2null
  • journeyobject | null

    Étape et inscription du Parcours ayant envoyé cet e-mail ; null pour les autres envois.

  • journey_idstringobligatoire

    format: "uuid"

  • step_idstringobligatoire

    format: "uuid"

  • enrollment_idstringobligatoire

    format: "uuid"

  • experimentobject | null

    Variante d’expérience de cet e-mail ; null si aucune ne s’appliquait.

  • experiment_idstringobligatoire

    format: "uuid"

  • variant_keystringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • template_idstring | null

    format: "uuid"

  • template_versioninteger | null
  • workspace_revisioninteger | null
  • command_resultobject
  • Propriété supplémentaireToute valeur
  • command_started_atstring | null

    format: "date-time"

  • command_completed_atstring | null

    format: "date-time"

  • body_textstring
  • body_htmlstring
  • reply_toarray
  • Chaque élémentobject
  • emailstringobligatoire
  • namestring
  • headersobject
  • Propriété supplémentairestring
  • tagsarray
  • Chaque élémentobject
  • namestringobligatoire
  • valuestringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/transactional-sends/{transactionalSendId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/transactional-sends/{transactionalSendId}/timeline

listTransactionalSendTimeline

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

transactionalSendId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Chronologie ordonnée de l’acceptation, des tentatives fournisseur et des événements destinataire.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • occurred_atstringobligatoire

    format: "date-time"

  • event_typestringobligatoire
  • labelstringobligatoire
  • providerstring | null
  • recipient_domainstring | null
  • error_codestring | null

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/transactional-sends/{transactionalSendId}/timeline' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/transactional-sends/{transactionalSendId}/retry

retryTransactionalSend

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

transactionalSendId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 202

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • action_kindstringobligatoire

    enum: "transactional.send"

  • idstringobligatoire

    format: "uuid"

  • send_intent_idstringobligatoire

    format: "uuid"

  • provider_attempt_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/transactional-sends/{transactionalSendId}/retry' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx'

Conversations

GET/v1/workspaces/{workspaceId}/threads

listThreads

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

mailbox_id
query
  • valuestring

    format: "uuid"

label_id
query

Renvoyez uniquement les conversations portant ce libellé de boîte mail.

  • valuestring

    format: "uuid"

view
query
  • valuestring

    default: "inbox" · enum: "inbox", "sent", "drafts", "archive", "trash", "spam", "all"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Conversations de l’espace de travail paginées par clé.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • subjectstringobligatoire
  • snippetstringobligatoire
  • last_message_atstringobligatoire

    format: "date-time"

  • message_countintegerobligatoire
  • unread_countintegerobligatoire
  • is_archivedbooleanobligatoire
  • is_trashbooleanobligatoire
  • is_spambooleanobligatoire
  • is_starredbooleanobligatoire
  • is_sentbooleanobligatoire
  • has_attachmentsbooleanobligatoire
  • labelsarrayobligatoire
  • Chaque élémentstring
  • participantsarray
  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • pageobjectobligatoire
  • next_cursorstring
  • has_morebooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/threads?cursor=example&limit=50&mailbox_id=00000000-0000-4000-8000-000000000001&label_id=00000000-0000-4000-8000-000000000001&view=inbox' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/threads/{threadId}

getThread

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

threadId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Conversation et messages ordonnés.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • subjectstringobligatoire
  • snippetstringobligatoire
  • last_message_atstringobligatoire

    format: "date-time"

  • message_countintegerobligatoire
  • unread_countintegerobligatoire
  • is_archivedbooleanobligatoire
  • is_trashbooleanobligatoire
  • is_spambooleanobligatoire
  • is_starredbooleanobligatoire
  • is_sentbooleanobligatoire
  • has_attachmentsbooleanobligatoire
  • labelsarrayobligatoire
  • Chaque élémentstring
  • participantsarray
  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • allOf 2object
  • messagesarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstringobligatoire

    format: "uuid"

  • sent_atstringobligatoire

    format: "date-time"

  • received_atstring

    format: "date-time"

  • envelope_recipientsarray

    Destinataires originaux de l’enveloppe SMTP, normalisés en casse par la passerelle SMTP, avant le routage des alias de réception seule. Vide pour les anciens messages ou les sources non SMTP. Indépendant des en-têtes To/Cc visibles.

  • Chaque élémentstring

    format: "email"

    Imbrications supplémentaires omises

  • fromobjectobligatoire
  • namestring

    Imbrications supplémentaires omises

  • emailstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • toarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • ccarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • reply_toarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • is_sentboolean

    Indique si ce message a été envoyé par la boîte mail, y compris depuis un alias.

  • body_textstring
  • body_html_urlstring

    format: "uri"

  • reply_originobject
  • send_intent_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • sourcestringobligatoire

    enum: "gateway", "transactional", "marketing", "mailbox", "agent"

    Imbrications supplémentaires omises

  • source_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • traffic_classstringobligatoire

    enum: "transactional", "marketing", "mailbox"

    Imbrications supplémentaires omises

  • kindstringobligatoire

    enum: "campaign", "sequence", "transactional", "mailbox", "agent"

    Imbrications supplémentaires omises

  • namestring

    Imbrications supplémentaires omises

  • has_attachmentsbooleanobligatoire
  • attachmentsarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/threads/{threadId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Messages

GET/v1/workspaces/{workspaceId}/messages/{messageId}/html

getMessageHtml

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

messageId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Corps HTML du message authentifié et limité par sandbox.

text/html

  • valuestring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/messages/{messageId}/html' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Pièces jointes

GET/v1/workspaces/{workspaceId}/attachments/{attachmentId}/content

downloadAttachment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

attachmentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Flux de pièce jointe authentifié.

application/octet-stream

  • valuestring

    format: "binary"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/attachments/{attachmentId}/content' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/search

searchMail

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

q
query · obligatoire
  • valuestring

    minLength: 1 · maxLength: 512

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

mailbox_id
query
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Résultats de recherche dans tout l’espace de travail.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • subjectstringobligatoire
  • snippetstringobligatoire
  • last_message_atstringobligatoire

    format: "date-time"

  • message_countintegerobligatoire
  • unread_countintegerobligatoire
  • is_archivedbooleanobligatoire
  • is_trashbooleanobligatoire
  • is_spambooleanobligatoire
  • is_starredbooleanobligatoire
  • is_sentbooleanobligatoire
  • has_attachmentsbooleanobligatoire
  • labelsarrayobligatoire
  • Chaque élémentstring
  • participantsarray
  • Chaque élémentobject
  • namestring
  • emailstringobligatoire

    format: "email"

  • pageobjectobligatoire
  • next_cursorstring
  • has_morebooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/search?q=example&cursor=example&limit=50&mailbox_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Contacts

GET/v1/workspaces/{workspaceId}/contacts

listContacts

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

q
query
  • valuestring

    maxLength: 512

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire

    format: "email"

  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • statusstringobligatoire

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • pageobjectobligatoire
  • next_cursorstring
  • has_morebooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts?cursor=example&limit=50&q=example' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contacts

upsertContact

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • emailstringobligatoire

    format: "email"

  • display_namestring

    maxLength: 1000

  • statusstringobligatoire

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur
  • consent_confirmedboolean

    Requis lors d’un nouvel abonnement d’une adresse.

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire

    format: "email"

  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • statusstringobligatoire

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "email": "person@example.com",
  "display_name": "example",
  "status": "subscribed",
  "attributes": {},
  "consent_confirmed": true
}'
GET/v1/workspaces/{workspaceId}/contacts/{contactId}

getContact

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

contactId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire

    format: "email"

  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • statusstringobligatoire

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • suppressedbooleanobligatoire
  • suppression_reasonstring | nullobligatoire
  • sourcesarrayobligatoire
  • Chaque élémentobject
  • kindstringobligatoire
  • referencestringobligatoire
  • connection_idstring | nullobligatoire

    format: "uuid"

  • metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • first_seen_atstringobligatoire

    format: "date-time"

  • last_seen_atstringobligatoire

    format: "date-time"

  • listsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • subscription_statusstringobligatoire
  • consent_evidencearrayobligatoire
  • Chaque élémentobject
  • kindstringobligatoire
  • referencestringobligatoire
  • connection_idstring | nullobligatoire

    format: "uuid"

  • metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • first_seen_atstringobligatoire

    format: "date-time"

  • last_seen_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/{contactId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
DELETE/v1/workspaces/{workspaceId}/contacts/{contactId}

deleteContact

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

contactId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Contact supprimé.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/{contactId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/contacts/imports

listContactImports

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstring

    format: "uuid"

  • filenamestring
  • list_idstring | null

    format: "uuid"

  • list_namestring | null
  • statusstring
  • total_rowsinteger
  • imported_rowsinteger
  • invalid_rowsinteger
  • error_summaryarray
  • Chaque élémentstring
  • consent_confirmedboolean
  • consent_confirmed_atstring | null

    format: "date-time"

  • processed_rowsinteger
  • attempt_countinteger
  • last_error_codestring | null
  • created_atstring

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/imports' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contacts/imports

importContacts

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • filenamestringobligatoire

    minLength: 1 · maxLength: 500

  • list_idstring

    format: "uuid"

  • consent_confirmedboolean

    Requis si une ligne importée est abonnée.

  • rowsarrayobligatoire

    minItems: 1 · maxItems: 5000

  • Chaque élémentobject
  • emailstringobligatoire

    format: "email"

  • display_namestring

    maxLength: 1000

  • statusstring

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "queued"

  • total_rowsintegerobligatoire
  • imported_rowsintegerobligatoire
  • invalid_rowsintegerobligatoire
  • list_idstring | nullobligatoire

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/imports' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "filename": "example",
  "list_id": "00000000-0000-4000-8000-000000000001",
  "consent_confirmed": true,
  "rows": [
    {
      "email": "person@example.com",
      "display_name": "example",
      "status": "subscribed",
      "attributes": {}
    }
  ]
}'
PATCH/v1/workspaces/{workspaceId}/contacts/{contactId}/attributes

Fusionner les attributs typés sans changer l’abonnement ni le consentement

Nécessite contacts:write et contacts:read. Met à jour uniquement un contact existant. Les attributs omis sont conservés, false explicite est stocké et null retire un champ. Fournissez des faits sources vérifiés ; une donnée absente n’est pas false. L’abonnement, l’exclusion, l’identité et l’historique des sources restent inchangés.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contactId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Relecture actuelle du contact ; replayed vaut true si cette mutation a déjà été appliquée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • statusstringobligatoire

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • replayedbooleanobligatoire
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/{contactId}/attributes' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "attributes": {}
}'
POST/v1/workspaces/{workspaceId}/contacts/upsert

upsertProductContact

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • emailstringobligatoire

    format: "email" · maxLength: 320

  • display_namestring

    minLength: 0 · maxLength: 1000

  • attributesobject
  • Propriété supplémentaireToute valeur
  • statusstringobligatoire

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • consent_evidenceobject

    Aucune propriété supplémentaire

  • sourcestring

    minLength: 1 · maxLength: 2000

  • referencestring

    minLength: 1 · maxLength: 2000

  • observed_atstring

    format: "date-time"

  • statementstring

    minLength: 1 · maxLength: 2000

  • consent_confirmedboolean

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire

    format: "email"

  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • statusstringobligatoire

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • suppressedbooleanobligatoire
  • suppression_reasonstring | nullobligatoire
  • sourcesarrayobligatoire
  • Chaque élémentobject
  • kindstringobligatoire
  • referencestringobligatoire
  • connection_idstring | nullobligatoire

    format: "uuid"

  • metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • first_seen_atstringobligatoire

    format: "date-time"

  • last_seen_atstringobligatoire

    format: "date-time"

  • listsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • subscription_statusstringobligatoire
  • consent_evidencearrayobligatoire
  • Chaque élémentobject
  • kindstringobligatoire
  • referencestringobligatoire
  • connection_idstring | nullobligatoire

    format: "uuid"

  • metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • first_seen_atstringobligatoire

    format: "date-time"

  • last_seen_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/upsert' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "email": "person@example.com",
  "display_name": "example",
  "attributes": {},
  "status": "subscribed",
  "consent_evidence": {
    "source": "example",
    "reference": "example",
    "observed_at": "2026-01-01T00:00:00Z",
    "statement": "example"
  },
  "consent_confirmed": true
}'
POST/v1/workspaces/{workspaceId}/contacts/import-validation

validateProductContactImport

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • rowsarrayobligatoire

    minItems: 1 · maxItems: 5000

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • emailstringobligatoire

    format: "email" · maxLength: 320

  • display_namestring

    minLength: 0 · maxLength: 1000

  • attributesobject
  • Propriété supplémentaireToute valeur
  • statusstringobligatoire

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • consent_evidenceobject

    Aucune propriété supplémentaire

  • sourcestring

    minLength: 1 · maxLength: 2000

  • referencestring

    minLength: 1 · maxLength: 2000

  • observed_atstring

    format: "date-time"

  • statementstring

    minLength: 1 · maxLength: 2000

  • consent_confirmedboolean

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataobjectobligatoire
  • validbooleanobligatoire
  • total_rowsintegerobligatoire
  • valid_rowsintegerobligatoire
  • errorsarrayobligatoire
  • Chaque élémentobject
  • rowintegerobligatoire
  • codestringobligatoire
  • messagestringobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/import-validation' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "rows": [
    {
      "email": "person@example.com",
      "display_name": "example",
      "attributes": {},
      "status": "subscribed",
      "consent_evidence": {
        "source": "example",
        "reference": "example",
        "observed_at": "2026-01-01T00:00:00Z",
        "statement": "example"
      }
    }
  ],
  "consent_confirmed": true
}'
GET/v1/workspaces/{workspaceId}/contacts/imports/{importId}

getProductContactImport

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

importId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstring

    format: "uuid"

  • filenamestring
  • list_idstring | null

    format: "uuid"

  • list_namestring | null
  • statusstring
  • total_rowsinteger
  • imported_rowsinteger
  • invalid_rowsinteger
  • error_summaryarray
  • Chaque élémentstring
  • consent_confirmedboolean
  • consent_confirmed_atstring | null

    format: "date-time"

  • processed_rowsinteger
  • attempt_countinteger
  • last_error_codestring | null
  • created_atstring

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/imports/{importId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/contacts/fields

Lister les clés d’attributs de contact stockées

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/fields' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contacts/import-mapping

Proposer des correspondances de colonnes d’importation de contacts

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • filenamestring

    maxLength: 500

  • columnsarrayobligatoire

    minItems: 1 · maxItems: 100

  • Chaque élémentobject
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • samplesarray

    maxItems: 8

  • Chaque élémentstring

    maxLength: 120

  • filledinteger

    minimum: 0

  • rowsinteger

    minimum: 0

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • mappingobjectobligatoire
  • columnsarrayobligatoire
  • Chaque élémentobject
  • columnstringobligatoire
  • targetstringobligatoire

    enum: "email", "display_name", "first_name", "last_name", "locale", "time_zone", "status", "unsubscribed_flag", "subscribed_flag", "field", "ignore"

  • field_keystring
  • field_typestring

    enum: "text", "number", "boolean", "date", "choice", "choices"

  • confidencenumberobligatoire
  • sourcestringobligatoire

    enum: "saved", "ai", "rules", "person"

  • alternativesarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • locale_valuesobjectobligatoire
  • Propriété supplémentairestring | null
  • reviewobjectobligatoire
  • neededbooleanobligatoire
  • reasonsarrayobligatoire
  • Chaque élémentstring
  • columnsarrayobligatoire
  • Chaque élémentstring
  • sourcestringobligatoire

    enum: "saved", "ai", "rules"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/import-mapping' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "filename": "example",
  "columns": [
    {
      "name": "example",
      "samples": [
        "example"
      ],
      "filled": 0,
      "rows": 0
    }
  ]
}'

Listes de contacts

GET/v1/workspaces/{workspaceId}/contact-lists

listContactLists

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • descriptionstringobligatoire
  • member_countintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-lists' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contact-lists

createContactList

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • descriptionstringobligatoire
  • member_countintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-lists' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "description": "example"
}'
GET/v1/workspaces/{workspaceId}/contact-lists/{listId}

getContactList

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

listId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • descriptionstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • membersarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • statusstringobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-lists/{listId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
DELETE/v1/workspaces/{workspaceId}/contact-lists/{listId}

deleteContactList

Supprimez cette liste et ses contacts exclusifs. Les contacts appartenant à d’autres listes sont conservés. Nécessite contacts:write.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

listId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Nombre de contacts exclusifs supprimés (ou à supprimer) et partagés conservés.

application/json

  • valueobject
  • dataobjectobligatoire
  • deleted_contactsintegerobligatoire

    minimum: 0

  • kept_contactsintegerobligatoire

    minimum: 0

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-lists/{listId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/contact-lists/{listId}/deletion-preview

previewContactListDeletion

Prévisualisez les décomptes de suppression de la liste. Les appartenances sont revérifiées lors de la suppression. Nécessite contacts:read.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

listId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Nombre de contacts exclusifs supprimés (ou à supprimer) et partagés conservés.

application/json

  • valueobject
  • dataobjectobligatoire
  • deleted_contactsintegerobligatoire

    minimum: 0

  • kept_contactsintegerobligatoire

    minimum: 0

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-lists/{listId}/deletion-preview' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contact-lists/{listId}/members

addContactListMembers

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

listId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • contact_idsarrayobligatoire

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 204

Appartenance à la liste mise à jour.

Aucun corps de réponse.

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-lists/{listId}/members' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "contact_ids": [
    "00000000-0000-4000-8000-000000000001"
  ]
}'
DELETE/v1/workspaces/{workspaceId}/contact-lists/{listId}/members

removeContactListMembers

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

listId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • contact_idsarrayobligatoire

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 204

Appartenance à la liste mise à jour.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-lists/{listId}/members' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "contact_ids": [
    "00000000-0000-4000-8000-000000000001"
  ]
}'

Champs de contact

GET/v1/workspaces/{workspaceId}/contact-fields

Champs de contact du produit (intégrés, déclarés et découverts), avec type, choix, source, nombre de contacts ayant une valeur et opérateurs de segment pris en charge.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    maxLength: 80

  • descriptionstringobligatoire

    maxLength: 500

  • typestringobligatoire

    enum: "text", "number", "boolean", "date", "choice", "choices"

  • optionsarrayobligatoire

    maxItems: 50

  • Chaque élémentstring
  • originstringobligatoire

    enum: "system", "person", "agent", "form", "import", "api", "event", "discovered"

  • statusstringobligatoire

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Chaque élémentstring
  • contacts_with_valueinteger

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-fields' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contact-fields

Déclarez un champ de contact : label, type (text, number, boolean, date, choice, choices), key facultatif, options et description.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

  • descriptionstring

    maxLength: 500

  • typestring

    default: "text" · enum: "text", "number", "boolean", "date", "choice", "choices"

  • optionsarray

    maxItems: 50

  • Chaque élémentstring

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • keystringobligatoire

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    maxLength: 80

  • descriptionstringobligatoire

    maxLength: 500

  • typestringobligatoire

    enum: "text", "number", "boolean", "date", "choice", "choices"

  • optionsarrayobligatoire

    maxItems: 50

  • Chaque élémentstring
  • originstringobligatoire

    enum: "system", "person", "agent", "form", "import", "api", "event", "discovered"

  • statusstringobligatoire

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Chaque élémentstring
  • contacts_with_valueinteger

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-fields' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "key": "example",
  "label": "example",
  "description": "example",
  "type": "text",
  "options": [
    "example"
  ]
}'
PATCH/v1/workspaces/{workspaceId}/contact-fields/{key}

Renommez, décrivez, changez le type (conversion des valeurs stockées, ou 409 avec un exemple incompatible), modifiez les choix ou masquez un champ.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

key
path · obligatoire
  • valuestring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

Corps de la requête obligatoire

application/json

  • valueobject
  • labelstring

    maxLength: 80

  • descriptionstring

    maxLength: 500

  • typestring

    enum: "text", "number", "boolean", "date", "choice", "choices"

  • optionsarray

    maxItems: 50

  • Chaque élémentstring
  • statusstring

    enum: "active", "hidden"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • keystringobligatoire

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    maxLength: 80

  • descriptionstringobligatoire

    maxLength: 500

  • typestringobligatoire

    enum: "text", "number", "boolean", "date", "choice", "choices"

  • optionsarrayobligatoire

    maxItems: 50

  • Chaque élémentstring
  • originstringobligatoire

    enum: "system", "person", "agent", "form", "import", "api", "event", "discovered"

  • statusstringobligatoire

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Chaque élémentstring
  • contacts_with_valueinteger

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contact-fields/{key}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "label": "example",
  "description": "example",
  "type": "text",
  "options": [
    "example"
  ],
  "status": "active"
}'

Segments

GET/v1/workspaces/{workspaceId}/segments

listSegments

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • filterobjectobligatoire

    Les conditions doivent référencer des champs de contact déclarés et utiliser des opérateurs compatibles avec leur type. set et not_set omettent value ; within_days utilise 1–3650 jours.

    Aucune propriété supplémentaire

  • statusstring

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur
  • conditionsarray

    maxItems: 20

  • Chaque élémentobject
  • fieldstringobligatoire

    Imbrications supplémentaires omises

  • opstringobligatoire

    enum: "is", "is_not", "contains", "set", "not_set", "gt", "gte", "lt", "lte", "within_days", "any_of", "includes"

    Imbrications supplémentaires omises

  • valuenon précisé

    Imbrications supplémentaires omises

  • matchstring

    enum: "all", "any"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/segments' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/segments

createSegment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • filterobject

    Les conditions doivent référencer des champs de contact déclarés et utiliser des opérateurs compatibles avec leur type. set et not_set omettent value ; within_days utilise 1–3650 jours.

    Aucune propriété supplémentaire

  • statusstring

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur
  • conditionsarray

    maxItems: 20

  • Chaque élémentobject
  • fieldstringobligatoire
  • opstringobligatoire

    enum: "is", "is_not", "contains", "set", "not_set", "gt", "gte", "lt", "lte", "within_days", "any_of", "includes"

  • valuenon précisé
  • anyOf 1string
  • anyOf 2number
  • anyOf 3boolean
  • anyOf 4array
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • matchstring

    enum: "all", "any"

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • filterobjectobligatoire

    Les conditions doivent référencer des champs de contact déclarés et utiliser des opérateurs compatibles avec leur type. set et not_set omettent value ; within_days utilise 1–3650 jours.

    Aucune propriété supplémentaire

  • statusstring

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur
  • conditionsarray

    maxItems: 20

  • Chaque élémentobject
  • fieldstringobligatoire
  • opstringobligatoire

    enum: "is", "is_not", "contains", "set", "not_set", "gt", "gte", "lt", "lte", "within_days", "any_of", "includes"

  • valuenon précisé
  • anyOf 1string

    Imbrications supplémentaires omises

  • anyOf 2number

    Imbrications supplémentaires omises

  • anyOf 3boolean

    Imbrications supplémentaires omises

  • anyOf 4array

    Imbrications supplémentaires omises

  • matchstring

    enum: "all", "any"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/segments' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "filter": {
    "status": "subscribed",
    "attributes": {},
    "conditions": [
      {
        "field": "example",
        "op": "is",
        "value": "example"
      }
    ],
    "match": "all"
  }
}'
GET/v1/workspaces/{workspaceId}/segments/{segmentId}/preview

previewSegment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

segmentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • filterobjectobligatoire

    Les conditions doivent référencer des champs de contact déclarés et utiliser des opérateurs compatibles avec leur type. set et not_set omettent value ; within_days utilise 1–3650 jours.

    Aucune propriété supplémentaire

  • statusstring

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur
  • conditionsarray

    maxItems: 20

  • Chaque élémentobject
  • fieldstringobligatoire

    Imbrications supplémentaires omises

  • opstringobligatoire

    enum: "is", "is_not", "contains", "set", "not_set", "gt", "gte", "lt", "lte", "within_days", "any_of", "includes"

    Imbrications supplémentaires omises

  • valuenon précisé

    Imbrications supplémentaires omises

  • matchstring

    enum: "all", "any"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • countintegerobligatoire
  • missing_consent_evidence_countintegerobligatoire
  • samplearrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • excludedobjectobligatoire
  • suppressedintegerobligatoire
  • not_subscribedintegerobligatoire
  • missing_recipient_hashintegerobligatoire
  • missing_consent_evidenceintegerobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/segments/{segmentId}/preview' \
  --header "Authorization: Bearer $BANGER_API_KEY"
DELETE/v1/workspaces/{workspaceId}/segments/{segmentId}

Supprimer un segment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

segmentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • deletedbooleanobligatoire

    const: true

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/segments/{segmentId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Audience

POST/v1/workspaces/{workspaceId}/audience/lists

createProductContactList

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    minLength: 0 · maxLength: 2000

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • descriptionstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • membersarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • statusstringobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/lists' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "description": "example"
}'
GET/v1/workspaces/{workspaceId}/audience/lists/{listId}

getProductContactList

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

listId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • descriptionstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • membersarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • statusstringobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/lists/{listId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/audience/lists/{listId}/members

addProductContactListMembers

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

listId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • contact_idsarrayobligatoire

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • descriptionstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • membersarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • statusstringobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/lists/{listId}/members' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "contact_ids": [
    "00000000-0000-4000-8000-000000000001"
  ]
}'
DELETE/v1/workspaces/{workspaceId}/audience/lists/{listId}/members

removeProductContactListMembers

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

listId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • contact_idsarrayobligatoire

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • descriptionstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • membersarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • statusstringobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • replayedbooleanobligatoire

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/lists/{listId}/members' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "contact_ids": [
    "00000000-0000-4000-8000-000000000001"
  ]
}'
POST/v1/workspaces/{workspaceId}/audience/segments

createProductSegment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • filterobjectobligatoire

    Aucune propriété supplémentaire

  • statusstring

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1non précisé
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • filterobjectobligatoire

    Les conditions doivent référencer des champs de contact déclarés et utiliser des opérateurs compatibles avec leur type. set et not_set omettent value ; within_days utilise 1–3650 jours.

    Aucune propriété supplémentaire

  • statusstring

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur
  • conditionsarray

    maxItems: 20

  • Chaque élémentobject

    Imbrications supplémentaires omises

  • matchstring

    enum: "all", "any"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • countintegerobligatoire
  • missing_consent_evidence_countintegerobligatoire
  • samplearrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • emailstringobligatoire

    Imbrications supplémentaires omises

  • display_namestring | nullobligatoire

    Imbrications supplémentaires omises

  • attributesobjectobligatoire

    Imbrications supplémentaires omises

  • excludedobjectobligatoire
  • suppressedintegerobligatoire
  • not_subscribedintegerobligatoire
  • missing_recipient_hashintegerobligatoire
  • missing_consent_evidenceintegerobligatoire
  • allOf 2object
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/segments' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "filter": {
    "status": "subscribed",
    "attributes": {}
  }
}'
GET/v1/workspaces/{workspaceId}/audience/segments/{segmentId}/preview

previewProductSegment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

segmentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • filterobjectobligatoire

    Les conditions doivent référencer des champs de contact déclarés et utiliser des opérateurs compatibles avec leur type. set et not_set omettent value ; within_days utilise 1–3650 jours.

    Aucune propriété supplémentaire

  • statusstring

    enum: "subscribed", "unsubscribed", "bounced", "complained"

  • attributesobject
  • Propriété supplémentaireToute valeur
  • conditionsarray

    maxItems: 20

  • Chaque élémentobject
  • fieldstringobligatoire

    Imbrications supplémentaires omises

  • opstringobligatoire

    enum: "is", "is_not", "contains", "set", "not_set", "gt", "gte", "lt", "lte", "within_days", "any_of", "includes"

    Imbrications supplémentaires omises

  • valuenon précisé

    Imbrications supplémentaires omises

  • matchstring

    enum: "all", "any"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • countintegerobligatoire
  • missing_consent_evidence_countintegerobligatoire
  • samplearrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • excludedobjectobligatoire
  • suppressedintegerobligatoire
  • not_subscribedintegerobligatoire
  • missing_recipient_hashintegerobligatoire
  • missing_consent_evidenceintegerobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/segments/{segmentId}/preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/audience/approvals

listProductApprovalEvidence

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

status
query
  • valuestring

    enum: "pending", "approved", "rejected", "cancelled", "expired", "undecided"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • checksarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • allOf 2object
  • approval_idstringobligatoire

    format: "uuid"

  • broadcast_idstring | nullobligatoire

    format: "uuid"

  • import_idstring | nullobligatoire

    format: "uuid"

  • blockersarrayobligatoire
  • Chaque élémentobject
  • codestringobligatoire

    Imbrications supplémentaires omises

  • messagestringobligatoire

    Imbrications supplémentaires omises

  • executionsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • statusstringobligatoire

    Imbrications supplémentaires omises

  • resultobjectobligatoire

    Imbrications supplémentaires omises

  • error_codestring | nullobligatoire

    Imbrications supplémentaires omises

  • execution_job_idsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • execution_statusstringobligatoire

    enum: "completed", "failed", "queued", "awaiting_review", "not_queued"

  • human_review_urlstring | nullobligatoire
  • human_review_instructionstring | nullobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/approvals?status=pending' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/audience/approvals/{approvalId}

getProductApprovalEvidence

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring
  • allOf 2object
  • approval_idstringobligatoire

    format: "uuid"

  • broadcast_idstring | nullobligatoire

    format: "uuid"

  • import_idstring | nullobligatoire

    format: "uuid"

  • blockersarrayobligatoire
  • Chaque élémentobject
  • codestringobligatoire
  • messagestringobligatoire
  • executionsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire
  • resultobjectobligatoire
  • Propriété supplémentaireToute valeur
  • error_codestring | nullobligatoire
  • execution_job_idsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • execution_statusstringobligatoire

    enum: "completed", "failed", "queued", "awaiting_review", "not_queued"

  • human_review_urlstring | nullobligatoire
  • human_review_instructionstring | nullobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/approvals/{approvalId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'

Formulaires d’inscription

GET/v1/workspaces/{workspaceId}/signup-forms

Formulaires d’inscription du produit avec code d’intégration, lien hébergé, vues, inscriptions, confirmations, abonnés et taux de conversion.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

include_archived
query
  • valueboolean

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • public_idstringobligatoire

    pattern: "^f_[a-z0-9]{16}$"

  • namestringobligatoire
  • kindstringobligatoire

    enum: "inline", "popup", "bar", "slide_in", "page"

  • list_idstringobligatoire

    format: "uuid"

  • list_namestringobligatoire
  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • double_opt_inbooleanobligatoire
  • configobjectobligatoire

    Aucune propriété supplémentaire

  • eyebrowstring

    maxLength: 60

  • headlinestring

    minLength: 1 · maxLength: 140

  • bodystring

    maxLength: 400

  • button_labelstring

    minLength: 1 · maxLength: 40

  • email_placeholderstring

    maxLength: 80

  • name_placeholderstring

    maxLength: 60

  • fine_printstring

    maxLength: 160

  • incentivestring

    maxLength: 160

  • success_headlinestring

    maxLength: 120

  • success_bodystring

    maxLength: 400

  • redirect_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • image_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • artstring

    enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"

  • stylestring

    enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"

  • count_nounstring

    maxLength: 30

  • confirm_promisestring

    maxLength: 200

  • localestring
  • collect_nameboolean
  • show_logoboolean
  • show_countboolean
  • exit_intentboolean
  • delay_secondsinteger

    minimum: 0 · maximum: 600

  • scroll_percentinteger

    minimum: 0 · maximum: 100

  • frequency_daysinteger

    minimum: 0 · maximum: 365

  • imagestring

    enum: "none", "photo", "art"

  • layoutstring

    enum: "stacked", "split"

  • themestring

    enum: "light", "dark", "brand", "auto"

  • positionstring

    enum: "bottom", "top", "right", "left"

  • fieldsarray

    maxItems: 6

  • Chaque élémentobject

    Les questions Select nécessitent options. Les autres types n’acceptent pas options. Les clés doivent être uniques et ne peuvent pas utiliser les champs réservés du formulaire ; les clés omises sont dérivées des libellés.

    Aucune propriété supplémentaire

  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

    Imbrications supplémentaires omises

  • typestring

    default: "text" · enum: "text", "select", "checkbox"

    Imbrications supplémentaires omises

  • requiredboolean

    default: false

    Imbrications supplémentaires omises

  • placeholderstring

    maxLength: 80

    Imbrications supplémentaires omises

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "active", "paused", "archived"

  • viewsintegerobligatoire
  • submissionsintegerobligatoire
  • confirmationsintegerobligatoire
  • subscribersintegerobligatoire
  • versionintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • hosted_urlstringobligatoire
  • embed_codestringobligatoire
  • embed_slotstringobligatoire
  • open_buttonstringobligatoire
  • conversion_ratenumberobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms?include_archived=true' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/signup-forms

Créez un formulaire : kind (inline, popup, bar, slide_in, page), list_id ou list_name, mailbox_id facultatif, double_opt_in (true par défaut) et config partiel.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject
  • namestring

    maxLength: 200

  • kindstring

    default: "inline" · enum: "inline", "popup", "bar", "slide_in", "page"

  • list_idstring

    format: "uuid"

  • list_namestring

    maxLength: 200

  • mailbox_idstring | null

    format: "uuid"

  • double_opt_inboolean

    default: true

  • configobject

    Aucune propriété supplémentaire

  • eyebrowstring

    maxLength: 60

  • headlinestring

    minLength: 1 · maxLength: 140

  • bodystring

    maxLength: 400

  • button_labelstring

    minLength: 1 · maxLength: 40

  • email_placeholderstring

    maxLength: 80

  • name_placeholderstring

    maxLength: 60

  • fine_printstring

    maxLength: 160

  • incentivestring

    maxLength: 160

  • success_headlinestring

    maxLength: 120

  • success_bodystring

    maxLength: 400

  • redirect_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • image_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • artstring

    enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"

  • stylestring

    enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"

  • count_nounstring

    maxLength: 30

  • confirm_promisestring

    maxLength: 200

  • localestring
  • collect_nameboolean
  • show_logoboolean
  • show_countboolean
  • exit_intentboolean
  • delay_secondsinteger

    minimum: 0 · maximum: 600

  • scroll_percentinteger

    minimum: 0 · maximum: 100

  • frequency_daysinteger

    minimum: 0 · maximum: 365

  • imagestring

    enum: "none", "photo", "art"

  • layoutstring

    enum: "stacked", "split"

  • themestring

    enum: "light", "dark", "brand", "auto"

  • positionstring

    enum: "bottom", "top", "right", "left"

  • fieldsarray

    maxItems: 6

  • Chaque élémentobject

    Les questions Select nécessitent options. Les autres types n’acceptent pas options. Les clés doivent être uniques et ne peuvent pas utiliser les champs réservés du formulaire ; les clés omises sont dérivées des libellés.

    Aucune propriété supplémentaire

  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

  • typestring

    default: "text" · enum: "text", "select", "checkbox"

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    minLength: 1 · maxLength: 80

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstring

    format: "uuid"

  • product_idstring

    format: "uuid"

  • public_idstring

    pattern: "^f_[a-z0-9]{16}$"

  • namestring
  • kindstring

    enum: "inline", "popup", "bar", "slide_in", "page"

  • list_idstring

    format: "uuid"

  • list_namestring
  • mailbox_idstring | null

    format: "uuid"

  • double_opt_inboolean
  • configobject

    Aucune propriété supplémentaire

  • eyebrowstring

    maxLength: 60

  • headlinestring

    minLength: 1 · maxLength: 140

  • bodystring

    maxLength: 400

  • button_labelstring

    minLength: 1 · maxLength: 40

  • email_placeholderstring

    maxLength: 80

  • name_placeholderstring

    maxLength: 60

  • fine_printstring

    maxLength: 160

  • incentivestring

    maxLength: 160

  • success_headlinestring

    maxLength: 120

  • success_bodystring

    maxLength: 400

  • redirect_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • image_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • artstring

    enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"

  • stylestring

    enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"

  • count_nounstring

    maxLength: 30

  • confirm_promisestring

    maxLength: 200

  • localestring
  • collect_nameboolean
  • show_logoboolean
  • show_countboolean
  • exit_intentboolean
  • delay_secondsinteger

    minimum: 0 · maximum: 600

  • scroll_percentinteger

    minimum: 0 · maximum: 100

  • frequency_daysinteger

    minimum: 0 · maximum: 365

  • imagestring

    enum: "none", "photo", "art"

  • layoutstring

    enum: "stacked", "split"

  • themestring

    enum: "light", "dark", "brand", "auto"

  • positionstring

    enum: "bottom", "top", "right", "left"

  • fieldsarray

    maxItems: 6

  • Chaque élémentobject

    Les questions Select nécessitent options. Les autres types n’acceptent pas options. Les clés doivent être uniques et ne peuvent pas utiliser les champs réservés du formulaire ; les clés omises sont dérivées des libellés.

    Aucune propriété supplémentaire

  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

  • typestring

    default: "text" · enum: "text", "select", "checkbox"

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    minLength: 1 · maxLength: 80

    Imbrications supplémentaires omises

  • statusstring

    enum: "active", "paused", "archived"

  • viewsinteger
  • submissionsinteger
  • confirmationsinteger
  • subscribersinteger
  • versioninteger
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • hosted_urlstring
  • embed_codestring
  • embed_slotstring
  • open_buttonstring
  • conversion_ratenumber
  • replayedboolean

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "kind": "inline",
  "list_id": "00000000-0000-4000-8000-000000000001",
  "list_name": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "double_opt_in": true,
  "config": {
    "eyebrow": "example",
    "headline": "example",
    "body": "example",
    "button_label": "example",
    "email_placeholder": "example",
    "name_placeholder": "example",
    "fine_print": "example",
    "incentive": "example",
    "success_headline": "example",
    "success_body": "example",
    "redirect_url": "example",
    "image_url": "example",
    "art": "arcs",
    "style": "",
    "count_noun": "example",
    "confirm_promise": "example",
    "locale": "example",
    "collect_name": true,
    "show_logo": true,
    "show_count": true,
    "exit_intent": true,
    "delay_seconds": 0,
    "scroll_percent": 0,
    "frequency_days": 0,
    "image": "none",
    "layout": "stacked",
    "theme": "light",
    "position": "bottom",
    "fields": [
      {
        "key": "example",
        "label": "example",
        "type": "text",
        "required": false,
        "placeholder": "example",
        "options": [
          "example"
        ]
      }
    ]
  }
}'
GET/v1/workspaces/{workspaceId}/signup-forms/readiness

Indique si ce produit peut activer les formulaires (son canal produit envoie depuis un domaine vérifié).

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • forms_enabledbooleanobligatoire
  • reasonstring

    enum: "verified_domain_required"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/readiness' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/signup-forms/preview

Affichez les paramètres non enregistrés d’un formulaire en page HTML complète sur une ébauche de site.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • kindstring

    enum: "inline", "popup", "bar", "slide_in", "page"

  • configobject

    Aucune propriété supplémentaire

  • eyebrowstring

    maxLength: 60

  • headlinestring

    minLength: 1 · maxLength: 140

  • bodystring

    maxLength: 400

  • button_labelstring

    minLength: 1 · maxLength: 40

  • email_placeholderstring

    maxLength: 80

  • name_placeholderstring

    maxLength: 60

  • fine_printstring

    maxLength: 160

  • incentivestring

    maxLength: 160

  • success_headlinestring

    maxLength: 120

  • success_bodystring

    maxLength: 400

  • redirect_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • image_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • artstring

    enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"

  • stylestring

    enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"

  • count_nounstring

    maxLength: 30

  • confirm_promisestring

    maxLength: 200

  • localestring
  • collect_nameboolean
  • show_logoboolean
  • show_countboolean
  • exit_intentboolean
  • delay_secondsinteger

    minimum: 0 · maximum: 600

  • scroll_percentinteger

    minimum: 0 · maximum: 100

  • frequency_daysinteger

    minimum: 0 · maximum: 365

  • imagestring

    enum: "none", "photo", "art"

  • layoutstring

    enum: "stacked", "split"

  • themestring

    enum: "light", "dark", "brand", "auto"

  • positionstring

    enum: "bottom", "top", "right", "left"

  • fieldsarray

    maxItems: 6

  • Chaque élémentobject

    Les questions Select nécessitent options. Les autres types n’acceptent pas options. Les clés doivent être uniques et ne peuvent pas utiliser les champs réservés du formulaire ; les clés omises sont dérivées des libellés.

    Aucune propriété supplémentaire

  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

  • typestring

    default: "text" · enum: "text", "select", "checkbox"

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    minLength: 1 · maxLength: 80

  • double_opt_inboolean
  • statestring

    enum: "form", "success"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • kindstringobligatoire

    enum: "inline", "popup", "bar", "slide_in", "page"

  • statestringobligatoire

    enum: "form", "success"

  • htmlstringobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "kind": "inline",
  "config": {
    "eyebrow": "example",
    "headline": "example",
    "body": "example",
    "button_label": "example",
    "email_placeholder": "example",
    "name_placeholder": "example",
    "fine_print": "example",
    "incentive": "example",
    "success_headline": "example",
    "success_body": "example",
    "redirect_url": "example",
    "image_url": "example",
    "art": "arcs",
    "style": "",
    "count_noun": "example",
    "confirm_promise": "example",
    "locale": "example",
    "collect_name": true,
    "show_logo": true,
    "show_count": true,
    "exit_intent": true,
    "delay_seconds": 0,
    "scroll_percent": 0,
    "frequency_days": 0,
    "image": "none",
    "layout": "stacked",
    "theme": "light",
    "position": "bottom",
    "fields": [
      {
        "key": "example",
        "label": "example",
        "type": "text",
        "required": false,
        "placeholder": "example",
        "options": [
          "example"
        ]
      }
    ]
  },
  "double_opt_in": true,
  "state": "form"
}'
GET/v1/workspaces/{workspaceId}/signup-forms/{formId}

getSignupForm

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

formId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • public_idstringobligatoire

    pattern: "^f_[a-z0-9]{16}$"

  • namestringobligatoire
  • kindstringobligatoire

    enum: "inline", "popup", "bar", "slide_in", "page"

  • list_idstringobligatoire

    format: "uuid"

  • list_namestringobligatoire
  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • double_opt_inbooleanobligatoire
  • configobjectobligatoire

    Aucune propriété supplémentaire

  • eyebrowstring

    maxLength: 60

  • headlinestring

    minLength: 1 · maxLength: 140

  • bodystring

    maxLength: 400

  • button_labelstring

    minLength: 1 · maxLength: 40

  • email_placeholderstring

    maxLength: 80

  • name_placeholderstring

    maxLength: 60

  • fine_printstring

    maxLength: 160

  • incentivestring

    maxLength: 160

  • success_headlinestring

    maxLength: 120

  • success_bodystring

    maxLength: 400

  • redirect_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • image_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • artstring

    enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"

  • stylestring

    enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"

  • count_nounstring

    maxLength: 30

  • confirm_promisestring

    maxLength: 200

  • localestring
  • collect_nameboolean
  • show_logoboolean
  • show_countboolean
  • exit_intentboolean
  • delay_secondsinteger

    minimum: 0 · maximum: 600

  • scroll_percentinteger

    minimum: 0 · maximum: 100

  • frequency_daysinteger

    minimum: 0 · maximum: 365

  • imagestring

    enum: "none", "photo", "art"

  • layoutstring

    enum: "stacked", "split"

  • themestring

    enum: "light", "dark", "brand", "auto"

  • positionstring

    enum: "bottom", "top", "right", "left"

  • fieldsarray

    maxItems: 6

  • Chaque élémentobject

    Les questions Select nécessitent options. Les autres types n’acceptent pas options. Les clés doivent être uniques et ne peuvent pas utiliser les champs réservés du formulaire ; les clés omises sont dérivées des libellés.

    Aucune propriété supplémentaire

  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

  • typestring

    default: "text" · enum: "text", "select", "checkbox"

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    minLength: 1 · maxLength: 80

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "active", "paused", "archived"

  • viewsintegerobligatoire
  • submissionsintegerobligatoire
  • confirmationsintegerobligatoire
  • subscribersintegerobligatoire
  • versionintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • hosted_urlstringobligatoire
  • embed_codestringobligatoire
  • embed_slotstringobligatoire
  • open_buttonstringobligatoire
  • conversion_ratenumberobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/{formId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/signup-forms/{formId}

Mise à jour partielle ; config fusionne avec les paramètres enregistrés ; status active, paused ou archived ; expected_version protège des modifications concurrentes.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

formId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject
  • namestring

    maxLength: 200

  • kindstring

    default: "inline" · enum: "inline", "popup", "bar", "slide_in", "page"

  • list_idstring

    format: "uuid"

  • list_namestring

    maxLength: 200

  • mailbox_idstring | null

    format: "uuid"

  • double_opt_inboolean

    default: true

  • configobject

    Aucune propriété supplémentaire

  • eyebrowstring

    maxLength: 60

  • headlinestring

    minLength: 1 · maxLength: 140

  • bodystring

    maxLength: 400

  • button_labelstring

    minLength: 1 · maxLength: 40

  • email_placeholderstring

    maxLength: 80

  • name_placeholderstring

    maxLength: 60

  • fine_printstring

    maxLength: 160

  • incentivestring

    maxLength: 160

  • success_headlinestring

    maxLength: 120

  • success_bodystring

    maxLength: 400

  • redirect_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • image_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • artstring

    enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"

  • stylestring

    enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"

  • count_nounstring

    maxLength: 30

  • confirm_promisestring

    maxLength: 200

  • localestring
  • collect_nameboolean
  • show_logoboolean
  • show_countboolean
  • exit_intentboolean
  • delay_secondsinteger

    minimum: 0 · maximum: 600

  • scroll_percentinteger

    minimum: 0 · maximum: 100

  • frequency_daysinteger

    minimum: 0 · maximum: 365

  • imagestring

    enum: "none", "photo", "art"

  • layoutstring

    enum: "stacked", "split"

  • themestring

    enum: "light", "dark", "brand", "auto"

  • positionstring

    enum: "bottom", "top", "right", "left"

  • fieldsarray

    maxItems: 6

  • Chaque élémentobject

    Les questions Select nécessitent options. Les autres types n’acceptent pas options. Les clés doivent être uniques et ne peuvent pas utiliser les champs réservés du formulaire ; les clés omises sont dérivées des libellés.

    Aucune propriété supplémentaire

  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

  • typestring

    default: "text" · enum: "text", "select", "checkbox"

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    minLength: 1 · maxLength: 80

  • statusstring

    enum: "active", "paused", "archived"

  • expected_versioninteger

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • public_idstringobligatoire

    pattern: "^f_[a-z0-9]{16}$"

  • namestringobligatoire
  • kindstringobligatoire

    enum: "inline", "popup", "bar", "slide_in", "page"

  • list_idstringobligatoire

    format: "uuid"

  • list_namestringobligatoire
  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • double_opt_inbooleanobligatoire
  • configobjectobligatoire

    Aucune propriété supplémentaire

  • eyebrowstring

    maxLength: 60

  • headlinestring

    minLength: 1 · maxLength: 140

  • bodystring

    maxLength: 400

  • button_labelstring

    minLength: 1 · maxLength: 40

  • email_placeholderstring

    maxLength: 80

  • name_placeholderstring

    maxLength: 60

  • fine_printstring

    maxLength: 160

  • incentivestring

    maxLength: 160

  • success_headlinestring

    maxLength: 120

  • success_bodystring

    maxLength: 400

  • redirect_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • image_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • artstring

    enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"

  • stylestring

    enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"

  • count_nounstring

    maxLength: 30

  • confirm_promisestring

    maxLength: 200

  • localestring
  • collect_nameboolean
  • show_logoboolean
  • show_countboolean
  • exit_intentboolean
  • delay_secondsinteger

    minimum: 0 · maximum: 600

  • scroll_percentinteger

    minimum: 0 · maximum: 100

  • frequency_daysinteger

    minimum: 0 · maximum: 365

  • imagestring

    enum: "none", "photo", "art"

  • layoutstring

    enum: "stacked", "split"

  • themestring

    enum: "light", "dark", "brand", "auto"

  • positionstring

    enum: "bottom", "top", "right", "left"

  • fieldsarray

    maxItems: 6

  • Chaque élémentobject

    Les questions Select nécessitent options. Les autres types n’acceptent pas options. Les clés doivent être uniques et ne peuvent pas utiliser les champs réservés du formulaire ; les clés omises sont dérivées des libellés.

    Aucune propriété supplémentaire

  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

  • typestring

    default: "text" · enum: "text", "select", "checkbox"

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    minLength: 1 · maxLength: 80

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "active", "paused", "archived"

  • viewsintegerobligatoire
  • submissionsintegerobligatoire
  • confirmationsintegerobligatoire
  • subscribersintegerobligatoire
  • versionintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • hosted_urlstringobligatoire
  • embed_codestringobligatoire
  • embed_slotstringobligatoire
  • open_buttonstringobligatoire
  • conversion_ratenumberobligatoire
  • replayedbooleanobligatoire

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/{formId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "kind": "inline",
  "list_id": "00000000-0000-4000-8000-000000000001",
  "list_name": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "double_opt_in": true,
  "config": {
    "eyebrow": "example",
    "headline": "example",
    "body": "example",
    "button_label": "example",
    "email_placeholder": "example",
    "name_placeholder": "example",
    "fine_print": "example",
    "incentive": "example",
    "success_headline": "example",
    "success_body": "example",
    "redirect_url": "example",
    "image_url": "example",
    "art": "arcs",
    "style": "",
    "count_noun": "example",
    "confirm_promise": "example",
    "locale": "example",
    "collect_name": true,
    "show_logo": true,
    "show_count": true,
    "exit_intent": true,
    "delay_seconds": 0,
    "scroll_percent": 0,
    "frequency_days": 0,
    "image": "none",
    "layout": "stacked",
    "theme": "light",
    "position": "bottom",
    "fields": [
      {
        "key": "example",
        "label": "example",
        "type": "text",
        "required": false,
        "placeholder": "example",
        "options": [
          "example"
        ]
      }
    ]
  },
  "status": "active",
  "expected_version": 1
}'
POST/v1/workspaces/{workspaceId}/signup-forms/{formId}/preview

Affichez un formulaire enregistré, avec éventuellement des modifications non enregistrées, dans l’état formulaire ou réussite.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

formId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • kindstring

    enum: "inline", "popup", "bar", "slide_in", "page"

  • configobject

    Aucune propriété supplémentaire

  • eyebrowstring

    maxLength: 60

  • headlinestring

    minLength: 1 · maxLength: 140

  • bodystring

    maxLength: 400

  • button_labelstring

    minLength: 1 · maxLength: 40

  • email_placeholderstring

    maxLength: 80

  • name_placeholderstring

    maxLength: 60

  • fine_printstring

    maxLength: 160

  • incentivestring

    maxLength: 160

  • success_headlinestring

    maxLength: 120

  • success_bodystring

    maxLength: 400

  • redirect_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • image_urlstring

    maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"

  • artstring

    enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"

  • stylestring

    enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"

  • count_nounstring

    maxLength: 30

  • confirm_promisestring

    maxLength: 200

  • localestring
  • collect_nameboolean
  • show_logoboolean
  • show_countboolean
  • exit_intentboolean
  • delay_secondsinteger

    minimum: 0 · maximum: 600

  • scroll_percentinteger

    minimum: 0 · maximum: 100

  • frequency_daysinteger

    minimum: 0 · maximum: 365

  • imagestring

    enum: "none", "photo", "art"

  • layoutstring

    enum: "stacked", "split"

  • themestring

    enum: "light", "dark", "brand", "auto"

  • positionstring

    enum: "bottom", "top", "right", "left"

  • fieldsarray

    maxItems: 6

  • Chaque élémentobject

    Les questions Select nécessitent options. Les autres types n’acceptent pas options. Les clés doivent être uniques et ne peuvent pas utiliser les champs réservés du formulaire ; les clés omises sont dérivées des libellés.

    Aucune propriété supplémentaire

  • keystring

    pattern: "^[a-z][a-z0-9_]{0,39}$"

  • labelstringobligatoire

    minLength: 1 · maxLength: 80

  • typestring

    default: "text" · enum: "text", "select", "checkbox"

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    minLength: 1 · maxLength: 80

  • double_opt_inboolean
  • statestring

    enum: "form", "success"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • kindstringobligatoire

    enum: "inline", "popup", "bar", "slide_in", "page"

  • statestringobligatoire

    enum: "form", "success"

  • htmlstringobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/{formId}/preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "kind": "inline",
  "config": {
    "eyebrow": "example",
    "headline": "example",
    "body": "example",
    "button_label": "example",
    "email_placeholder": "example",
    "name_placeholder": "example",
    "fine_print": "example",
    "incentive": "example",
    "success_headline": "example",
    "success_body": "example",
    "redirect_url": "example",
    "image_url": "example",
    "art": "arcs",
    "style": "",
    "count_noun": "example",
    "confirm_promise": "example",
    "locale": "example",
    "collect_name": true,
    "show_logo": true,
    "show_count": true,
    "exit_intent": true,
    "delay_seconds": 0,
    "scroll_percent": 0,
    "frequency_days": 0,
    "image": "none",
    "layout": "stacked",
    "theme": "light",
    "position": "bottom",
    "fields": [
      {
        "key": "example",
        "label": "example",
        "type": "text",
        "required": false,
        "placeholder": "example",
        "options": [
          "example"
        ]
      }
    ]
  },
  "double_opt_in": true,
  "state": "form"
}'

Formulaires d’inscription publics

GET/v1/forms/embed.js

Le chargeur de formulaires d’inscription. Une balise script par formulaire (data-banger-form="f_…") affiche le widget dans une racine shadow et gère les déclencheurs et soumissions.

Point de terminaison public : aucune authentification requise.

Paramètres

Aucun paramètre précisé.

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Chargeur intégrable de formulaires d’inscription.

text/javascript

  • valuestring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/forms/embed.js'
OPTIONS/v1/forms/embed.js

Lire la politique CORS d’inscription publique

Point de terminaison public : aucune authentification requise.

Paramètres

Aucun paramètre précisé.

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Réponse réussie.

Aucun corps de réponse.

Exemple curl

curl --request OPTIONS --globoff 'https://api.bangermail.com/v1/forms/embed.js'
HEAD/v1/forms/embed.js

Lire les en-têtes du script d’intégration

Point de terminaison public : aucune authentification requise.

Paramètres

Aucun paramètre précisé.

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

Le contrat ne précise aucun schéma de réponse.

Exemple curl

curl --request HEAD --globoff 'https://api.bangermail.com/v1/forms/embed.js'
GET/v1/forms/{publicId}/widget

Widget rendu d’un formulaire actif (html, css, lien de police) et comportement de popup. Public, CORS ouvert, cache d’une minute.

Point de terminaison public : aucune authentification requise.

Paramètres

Nom / emplacementSchéma
publicId
path · obligatoire
  • valuestring

    pattern: "^f_[a-z0-9]{16}$"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • kindstringobligatoire

    enum: "inline", "popup", "bar", "slide_in", "page"

  • langstringobligatoire
  • htmlstringobligatoire
  • cssstringobligatoire
  • font_hrefstringobligatoire
  • redirect_urlstringobligatoire
  • behaviorobjectobligatoire
  • delay_secondsnumberobligatoire
  • scroll_percentnumberobligatoire
  • exit_intentbooleanobligatoire
  • frequency_daysnumberobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/forms/{publicId}/widget'
OPTIONS/v1/forms/{publicId}/widget

Lire la politique CORS d’inscription publique

Point de terminaison public : aucune authentification requise.

Paramètres

Nom / emplacementSchéma
publicId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Réponse réussie.

Aucun corps de réponse.

Exemple curl

curl --request OPTIONS --globoff 'https://api.bangermail.com/v1/forms/{publicId}/widget'
POST/v1/forms/{publicId}/subscribe

Un visiteur s’inscrit. Encodage formulaire (email, name, page, lang facultatif) pour éviter le preflight du navigateur ; JSON est aussi accepté. Les messages et l’e-mail de confirmation suivent la langue du formulaire, sinon lang, sinon Accept-Language. Avec double confirmation, un e-mail de confirmation est envoyé et la personne rejoint la liste après confirmation.

Point de terminaison public : aucune authentification requise.

Paramètres

Nom / emplacementSchéma
publicId
path · obligatoire
  • valuestring

    pattern: "^f_[a-z0-9]{16}$"

Corps de la requête obligatoire

application/x-www-form-urlencoded

  • valueobject

    Les réponses personnalisées utilisent x_<field key> (ou la clé sans préfixe). Les réponses obligatoires dépendent de la configuration du formulaire. Le gestionnaire lit les 8000 premiers caractères du corps.

  • emailstringobligatoire

    format: "email" · maxLength: 320

  • namestring

    maxLength: 100

  • pagestring

    maxLength: 2000

  • elapsednumber | string

    Millisecondes écoulées depuis l’affichage du formulaire.

  • langstring

    maxLength: 35

  • localestring

    maxLength: 35

  • websitestring

    Honeypot ; laissez vide.

    maxLength: 200

  • Propriété supplémentairestring | number

application/json

  • valueobject

    Les réponses personnalisées utilisent x_<field key> (ou la clé sans préfixe). Les réponses obligatoires dépendent de la configuration du formulaire. Le gestionnaire lit les 8000 premiers caractères du corps.

  • emailstringobligatoire

    format: "email" · maxLength: 320

  • namestring

    maxLength: 100

  • pagestring

    maxLength: 2000

  • elapsednumber | string

    Millisecondes écoulées depuis l’affichage du formulaire.

  • langstring

    maxLength: 35

  • localestring

    maxLength: 35

  • websitestring

    Honeypot ; laissez vide.

    maxLength: 200

  • Propriété supplémentairestring | number

Réponse réussie 200

Inscription acceptée.

application/json

  • valueobject
  • okbooleanobligatoire

    const: true

  • statusstringobligatoire

    enum: "pending_confirmation", "subscribed", "already_subscribed"

  • redirect_urlstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/forms/{publicId}/subscribe' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "email": "person@example.com",
  "name": "example",
  "page": "example",
  "elapsed": 1,
  "lang": "example",
  "locale": "example",
  "website": "example"
}'
OPTIONS/v1/forms/{publicId}/subscribe

Lire la politique CORS d’inscription publique

Point de terminaison public : aucune authentification requise.

Paramètres

Nom / emplacementSchéma
publicId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Réponse réussie.

Aucun corps de réponse.

Exemple curl

curl --request OPTIONS --globoff 'https://api.bangermail.com/v1/forms/{publicId}/subscribe'
POST/v1/forms/{publicId}/view

Compte un affichage de widget.

Point de terminaison public : aucune authentification requise.

Paramètres

Nom / emplacementSchéma
publicId
path · obligatoire
  • valuestring

    pattern: "^f_[a-z0-9]{16}$"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Compté.

Aucun corps de réponse.

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/forms/{publicId}/view'
OPTIONS/v1/forms/{publicId}/view

Lire la politique CORS d’inscription publique

Point de terminaison public : aucune authentification requise.

Paramètres

Nom / emplacementSchéma
publicId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Réponse réussie.

Aucun corps de réponse.

Exemple curl

curl --request OPTIONS --globoff 'https://api.bangermail.com/v1/forms/{publicId}/view'

Modèles

GET/v1/workspaces/{workspaceId}/templates

listTemplates

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • subjectstringobligatoire
  • body_textstringobligatoire
  • contentobjectobligatoire
  • Propriété supplémentairestring
  • slotsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • statusstringobligatoire

    enum: "active", "archived"

  • originstringobligatoire

    enum: "person", "agent", "starter", "import"

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/templates

createTemplate

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Propriété supplémentairestring
  • slotsarray
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • originstring

    enum: "person", "agent", "starter", "import"

  • message_kindstring
  • starter_idstring

    maxLength: 80

  • starter_versioninteger

    minimum: 1

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • subjectstringobligatoire
  • body_textstringobligatoire
  • contentobjectobligatoire
  • Propriété supplémentairestring
  • slotsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • statusstringobligatoire

    enum: "active", "archived"

  • originstringobligatoire

    enum: "person", "agent", "starter", "import"

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "subject": "example",
  "body_text": "example",
  "body_html": "example",
  "content": {},
  "slots": [
    {
      "key": "example",
      "label": "example",
      "type": "text",
      "help": "example"
    }
  ],
  "origin": "person",
  "message_kind": "example",
  "starter_id": "example",
  "starter_version": 1
}'
POST/v1/workspaces/{workspaceId}/templates/preview

previewDesign

Affichez un design non enregistré avec des valeurs d’exemple ou d’audience et signalez les paramètres manquants.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Propriété supplémentairestring
  • audienceobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • sample_emailstring

    E-mail d’un contact existant. Les adresses inconnues renvoient sample_recipient_not_found. Omettez pour utiliser des valeurs d’exemple ou d’audience.

    maxLength: 320

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • subjectstringobligatoire
  • body_textstringobligatoire
  • body_htmlstring
  • font_renderingarrayobligatoire
  • Chaque élémentobject
  • stackstringobligatoire
  • fontstringobligatoire
  • web_fontbooleanobligatoire
  • clientsarrayobligatoire
  • Chaque élémentobject
  • clientstringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • fontstringobligatoire

    Imbrications supplémentaires omises

  • web_fontbooleanobligatoire

    Imbrications supplémentaires omises

  • fallbackbooleanobligatoire

    Imbrications supplémentaires omises

  • sample_recipientnon préciséobligatoire
  • anyOf 1object
  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • anyOf 2null
  • required_variablesarrayobligatoire
  • Chaque élémentstring
  • effective_slotsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • audience_countinteger
  • gapsarray
  • Chaque élémentobject
  • variablestringobligatoire
  • missing_countintegerobligatoire
  • sample_emailsarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "subject": "example",
  "body_text": "example",
  "body_html": "example",
  "content": {},
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  },
  "sample_email": "example"
}'
GET/v1/workspaces/{workspaceId}/templates/{templateId}

getTemplate

Un design avec son HTML en ligne, son contenu à compléter et ses slots effectifs.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

templateId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • subjectstringobligatoire
  • body_textstringobligatoire
  • contentobjectobligatoire
  • Propriété supplémentairestring
  • slotsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • statusstringobligatoire

    enum: "active", "archived"

  • originstringobligatoire

    enum: "person", "agent", "starter", "import"

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/templates/{templateId}

updateTemplate

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

templateId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestring

    maxLength: 200

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    minLength: 1 · maxLength: 2000000

  • contentobject
  • Propriété supplémentairestring

    maxLength: 20000

  • slotsarray

    maxItems: 100

  • Chaque élémentobject
  • keystringobligatoire

    maxLength: 200

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • statusstring

    enum: "active", "archived"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • subjectstringobligatoire
  • body_textstringobligatoire
  • contentobjectobligatoire
  • Propriété supplémentairestring
  • slotsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • statusstringobligatoire

    enum: "active", "archived"

  • originstringobligatoire

    enum: "person", "agent", "starter", "import"

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "subject": "example",
  "body_text": "example",
  "body_html": "example",
  "content": {},
  "slots": [
    {
      "key": "example",
      "label": "example",
      "type": "text",
      "help": "example"
    }
  ],
  "status": "active"
}'
POST/v1/workspaces/{workspaceId}/templates/{templateId}/duplicate

duplicateTemplate

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

templateId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestring

    maxLength: 200

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • subjectstringobligatoire
  • body_textstringobligatoire
  • contentobjectobligatoire
  • Propriété supplémentairestring
  • slotsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • statusstringobligatoire

    enum: "active", "archived"

  • originstringobligatoire

    enum: "person", "agent", "starter", "import"

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}/duplicate' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example"
}'
POST/v1/workspaces/{workspaceId}/templates/{templateId}/preview

previewTemplate

Affichez un design enregistré avec des valeurs d’exemple ou d’audience et signalez les paramètres manquants.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

templateId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • contentobject
  • Propriété supplémentairestring
  • audienceobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • sample_emailstring

    E-mail d’un contact existant. Les adresses inconnues renvoient sample_recipient_not_found. Omettez pour utiliser des valeurs d’exemple ou d’audience.

    maxLength: 320

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • subjectstringobligatoire
  • body_textstringobligatoire
  • body_htmlstring
  • font_renderingarrayobligatoire
  • Chaque élémentobject
  • stackstringobligatoire
  • fontstringobligatoire
  • web_fontbooleanobligatoire
  • clientsarrayobligatoire
  • Chaque élémentobject
  • clientstringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • fontstringobligatoire

    Imbrications supplémentaires omises

  • web_fontbooleanobligatoire

    Imbrications supplémentaires omises

  • fallbackbooleanobligatoire

    Imbrications supplémentaires omises

  • sample_recipientnon préciséobligatoire
  • anyOf 1object
  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • anyOf 2null
  • required_variablesarrayobligatoire
  • Chaque élémentstring
  • effective_slotsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • audience_countinteger
  • gapsarray
  • Chaque élémentobject
  • variablestringobligatoire
  • missing_countintegerobligatoire
  • sample_emailsarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}/preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "content": {},
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  },
  "sample_email": "example"
}'
GET/v1/workspaces/{workspaceId}/templates/{templateId}/html

getTemplateHtml

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

templateId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Corps de modèle d’e-mail HTML sans scripts.

text/html

  • valuestring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}/html' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Campagnes

POST/v1/workspaces/{workspaceId}/campaigns/coverage-preview

previewCampaignCoverage

Paramètres obligatoires qu’une audience ne peut pas remplir, avant l’enregistrement d’une Campagne.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Propriété supplémentairestring
  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • sample_emailstring

    maxLength: 320

  • template_idstring

    format: "uuid"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • required_variablesarrayobligatoire
  • Chaque élémentstring
  • audience_countintegerobligatoire
  • gapsarrayobligatoire
  • Chaque élémentobject
  • variablestringobligatoire
  • missing_countintegerobligatoire
  • sample_emailsarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/coverage-preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "subject": "example",
  "body_text": "example",
  "body_html": "example",
  "content": {},
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  },
  "sample_email": "example",
  "template_id": "00000000-0000-4000-8000-000000000001"
}'
GET/v1/workspaces/{workspaceId}/campaigns

listCampaigns

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstring

    format: "uuid"

  • template_idstring | null

    format: "uuid"

  • managed_content_idstring | null

    format: "uuid"

  • managed_source_revision_idstring | null

    format: "uuid"

  • managed_publication_idstring | null

    format: "uuid"

  • managed_locales_snapshotarray
  • Chaque élémentstring
  • expires_after_secondsinteger | null
  • statusstringobligatoire
  • versionintegerobligatoire
  • subject_variantsarray
  • Chaque élémentstring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propriété supplémentairestring
  • audience_queryobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • audience_frozen_atstring | null

    format: "date-time"

  • audience_recipient_countinteger | null
  • audience_snapshot_sha256string | null
  • audience_snapshot_campaign_versioninteger | null
  • scheduled_atstring | null

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • archived_atstring | null

    format: "date-time"

  • statsobject
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns

createCampaign

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestringobligatoire

    maxLength: 200

  • mailbox_idstring

    format: "uuid"

  • template_idstringobligatoire

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Chaque élémentstring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0

  • audienceobjectobligatoire
  • all_subscribedboolean

    default: false

  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstring

    format: "uuid"

  • template_idstring | null

    format: "uuid"

  • managed_content_idstring | null

    format: "uuid"

  • managed_source_revision_idstring | null

    format: "uuid"

  • managed_publication_idstring | null

    format: "uuid"

  • managed_locales_snapshotarray
  • Chaque élémentstring
  • expires_after_secondsinteger | null
  • statusstringobligatoire
  • versionintegerobligatoire
  • subject_variantsarray
  • Chaque élémentstring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propriété supplémentairestring
  • audience_queryobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • audience_frozen_atstring | null

    format: "date-time"

  • audience_recipient_countinteger | null
  • audience_snapshot_sha256string | null
  • audience_snapshot_campaign_versioninteger | null
  • scheduled_atstring | null

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • archived_atstring | null

    format: "date-time"

  • statsobject
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "template_id": "00000000-0000-4000-8000-000000000001",
  "subject_variants": [
    "example"
  ],
  "selected_subject_variant": 0,
  "audience": {
    "all_subscribed": false,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  }
}'
POST/v1/workspaces/{workspaceId}/campaigns/audience-preview

previewCampaignAudience

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • countintegerobligatoire
  • missing_consent_evidence_countintegerobligatoire
  • samplearrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • excludedobjectobligatoire
  • suppressedintegerobligatoire
  • not_subscribedintegerobligatoire
  • missing_recipient_hashintegerobligatoire
  • missing_consent_evidenceintegerobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/audience-preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  }
}'
GET/v1/workspaces/{workspaceId}/campaigns/{campaignId}

getCampaign

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstring

    format: "uuid"

  • template_idstring | null

    format: "uuid"

  • managed_content_idstring | null

    format: "uuid"

  • managed_source_revision_idstring | null

    format: "uuid"

  • managed_publication_idstring | null

    format: "uuid"

  • managed_locales_snapshotarray
  • Chaque élémentstring
  • expires_after_secondsinteger | null
  • statusstringobligatoire
  • versionintegerobligatoire
  • subject_variantsarray
  • Chaque élémentstring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propriété supplémentairestring
  • audience_queryobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • audience_frozen_atstring | null

    format: "date-time"

  • audience_recipient_countinteger | null
  • audience_snapshot_sha256string | null
  • audience_snapshot_campaign_versioninteger | null
  • scheduled_atstring | null

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • archived_atstring | null

    format: "date-time"

  • statsobject
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/campaigns/{campaignId}

updateCampaign

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestringobligatoire

    maxLength: 200

  • mailbox_idstringobligatoire

    format: "uuid"

  • template_idstring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Chaque élémentstring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0

  • audienceobjectobligatoire

    Propriétés non précisées dans le contrat

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstring

    format: "uuid"

  • template_idstring | null

    format: "uuid"

  • managed_content_idstring | null

    format: "uuid"

  • managed_source_revision_idstring | null

    format: "uuid"

  • managed_publication_idstring | null

    format: "uuid"

  • managed_locales_snapshotarray
  • Chaque élémentstring
  • expires_after_secondsinteger | null
  • statusstringobligatoire
  • versionintegerobligatoire
  • subject_variantsarray
  • Chaque élémentstring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propriété supplémentairestring
  • audience_queryobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • audience_frozen_atstring | null

    format: "date-time"

  • audience_recipient_countinteger | null
  • audience_snapshot_sha256string | null
  • audience_snapshot_campaign_versioninteger | null
  • scheduled_atstring | null

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • archived_atstring | null

    format: "date-time"

  • statsobject
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "template_id": "00000000-0000-4000-8000-000000000001",
  "subject_variants": [
    "example"
  ],
  "selected_subject_variant": 0,
  "audience": {}
}'
DELETE/v1/workspaces/{workspaceId}/campaigns/{campaignId}

Supprimer une campagne non envoyée

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • deletedbooleanobligatoire

    const: true

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/campaigns/{campaignId}/recipients

listCampaignRecipients

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

status
query
  • valuestring

    enum: "pending", "queued", "sent", "failed", "skipped", "delivered", "deferred", "bounced", "complained", "unsubscribed"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • contact_idstring | null

    format: "uuid"

  • recipient_emailstring
  • recipient_namestring | null
  • recipient_hashstring
  • statusstring
  • dispatch_statusstring
  • command_idstring | null

    format: "uuid"

  • error_codestring | null
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • delivery_statestring | null
  • provider_message_keystring | null
  • last_event_atstring | null

    format: "date-time"

  • first_delivered_atstring | null

    format: "date-time"

  • first_opened_atstring | null

    format: "date-time"

  • first_clicked_atstring | null

    format: "date-time"

  • first_human_likely_opened_atstring | null

    format: "date-time"

  • first_human_likely_clicked_atstring | null

    format: "date-time"

  • first_replied_atstring | null

    format: "date-time"

  • machine_open_countinteger
  • machine_click_countinteger
  • privacy_proxy_open_countinteger
  • unknown_open_countinteger
  • unknown_click_countinteger
  • first_unsubscribed_atstring | null

    format: "date-time"

  • pageobjectobligatoire
  • next_cursorstring
  • has_morebooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/recipients?cursor=example&limit=50&status=pending' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/campaigns/{campaignId}/timeline

listCampaignTimeline

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • typestringobligatoire
  • occurred_atstringobligatoire

    format: "date-time"

  • actor_idstring | nullobligatoire
  • detailobjectobligatoire
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/timeline' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/pause

pauseCampaign

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstringobligatoire

    format: "uuid"

  • template_idstring | nullobligatoire

    format: "uuid"

  • statusstringobligatoire
  • audience_queryobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • scheduled_atstring | nullobligatoire

    format: "date-time"

  • started_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/pause' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/resume

resumeCampaign

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstringobligatoire

    format: "uuid"

  • template_idstring | nullobligatoire

    format: "uuid"

  • statusstringobligatoire
  • audience_queryobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • scheduled_atstring | nullobligatoire

    format: "date-time"

  • started_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/resume' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/cancel

cancelCampaign

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstringobligatoire

    format: "uuid"

  • template_idstring | nullobligatoire

    format: "uuid"

  • statusstringobligatoire
  • audience_queryobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • scheduled_atstring | nullobligatoire

    format: "date-time"

  • started_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/cancel' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/schedule

scheduleCampaign

Obsolète

Ancienne limite de planification directe. Renvoie toujours governed_review_required ; utilisez le point de terminaison de validation des campagnes pour appliquer le seuil de destinataires de l’espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie

Le contrat ne précise aucune réponse réussie.

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/schedule' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/test

testCampaign

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject
  • tostringobligatoire

    minLength: 3 · maxLength: 320

  • data_modestring

    default: "contact" · enum: "sample", "fallback", "contact"

  • contact_emailstring

    maxLength: 320

  • variant_keystring

    maxLength: 80

  • localestring

Réponse réussie 202

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • action_kindstringobligatoire

    enum: "transactional.send"

  • idstringobligatoire

    format: "uuid"

  • send_intent_idstringobligatoire

    format: "uuid"

  • provider_attempt_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/test' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "to": "example",
  "data_mode": "contact",
  "contact_email": "example",
  "variant_key": "example",
  "locale": "example"
}'
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/review

requestCampaignReview

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • expected_versioninteger

    minimum: 1

  • expected_design_versioninteger

    minimum: 1

  • recipient_selectionobject

    Aucune propriété supplémentaire

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • scheduled_atstring

    format: "date-time"

  • send_nowboolean

    const: true

  • approve_as_launcherboolean

    Une personne qui appuie sur Envoyer approuve cette requête exacte si la politique de validation exige une personne. Ignoré pour les clés API et les agents, qui attendent dans Approbations.

  • oneOf 1non précisé
  • oneOf 2non précisé

Réponse réussie 201

Approbation de planification de campagne créée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/review' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '"example"'
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/archive

Archiver une campagne

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire
  • archived_atstring | nullobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/archive' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/unarchive

Désarchiver une campagne

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire
  • archived_atstring | nullobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/unarchive' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/campaigns/{campaignId}/design-test

Enregistrer un à quatre designs d’e-mail de campagne

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

campaignId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • mailbox_idstringobligatoire

    format: "uuid"

  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • automatic_translationboolean
  • variantsarrayobligatoire

    minItems: 1 · maxItems: 4

  • Chaque élémentobject
  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 2000000

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • contentobject
  • Propriété supplémentairestring

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstring

    format: "uuid"

  • template_idstring | null

    format: "uuid"

  • managed_content_idstring | null

    format: "uuid"

  • managed_source_revision_idstring | null

    format: "uuid"

  • managed_publication_idstring | null

    format: "uuid"

  • managed_locales_snapshotarray
  • Chaque élémentstring
  • expires_after_secondsinteger | null
  • statusstringobligatoire
  • versionintegerobligatoire
  • subject_variantsarray
  • Chaque élémentstring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propriété supplémentairestring
  • audience_queryobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • audience_frozen_atstring | null

    format: "date-time"

  • audience_recipient_countinteger | null
  • audience_snapshot_sha256string | null
  • audience_snapshot_campaign_versioninteger | null
  • scheduled_atstring | null

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • archived_atstring | null

    format: "date-time"

  • statsobject
  • Propriété supplémentaireToute valeur
  • design_template_idstringobligatoire

    format: "uuid"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/design-test' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  },
  "automatic_translation": true,
  "variants": [
    {
      "body_html": "example",
      "subject": "example",
      "body_text": "example",
      "content": {}
    }
  ]
}'

Campagnes

POST/v1/workspaces/{workspaceId}/broadcasts

createBroadcast

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • mailbox_idstring

    Adresse d’expéditeur existante. Omettez pour utiliser l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée.

    format: "uuid"

  • template_idstring

    format: "uuid"

  • audienceobject

    Aucune propriété supplémentaire

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Chaque élémentstring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0 · maximum: 7

  • expires_after_secondsinteger

    Abandonnez les destinataires non envoyés après ce nombre de secondes depuis l’heure prévue ; sept jours par défaut.

    minimum: 1 · maximum: 604800

  • content_overridesobject
  • Propriété supplémentairestring

    maxLength: 20000

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1non précisé
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstring

    format: "uuid"

  • template_idstring | null

    format: "uuid"

  • managed_content_idstring | null

    format: "uuid"

  • managed_source_revision_idstring | null

    format: "uuid"

  • managed_publication_idstring | null

    format: "uuid"

  • managed_locales_snapshotarray
  • Chaque élémentstring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobligatoire
  • subject_variantsarray
  • Chaque élémentstring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propriété supplémentairestring
  • audience_queryobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • audience_frozen_atstring | null

    format: "date-time"

  • audience_recipient_countinteger | null
  • audience_snapshot_sha256string | null
  • audience_snapshot_campaign_versioninteger | null
  • scheduled_atstring | null

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • archived_atstring | null

    format: "date-time"

  • statsobject
  • Propriété supplémentaireToute valeur
  • broadcast_idstringobligatoire

    format: "uuid"

  • sender_addressstring | nullobligatoire
  • sending_blockernon préciséobligatoire
  • anyOf 1object
  • codestringobligatoire

    Imbrications supplémentaires omises

  • messagestringobligatoire

    Imbrications supplémentaires omises

  • anyOf 2null
  • designnon préciséobligatoire
  • anyOf 1object
  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • product_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • namestring

    Imbrications supplémentaires omises

  • subjectstring

    Imbrications supplémentaires omises

  • body_textstring

    Imbrications supplémentaires omises

  • contentobject

    Imbrications supplémentaires omises

  • slotsarray

    Imbrications supplémentaires omises

  • statusstring

    enum: "active", "archived"

    Imbrications supplémentaires omises

  • originstring

    enum: "person", "agent", "starter", "import"

    Imbrications supplémentaires omises

  • created_by_actor_idstring | null

    Imbrications supplémentaires omises

  • campaign_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • message_kindstring

    Imbrications supplémentaires omises

  • starter_idstring | null

    Imbrications supplémentaires omises

  • starter_versioninteger | null

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • created_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • updated_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • body_html_urlstring

    format: "uri"

    Imbrications supplémentaires omises

  • body_htmlstring | null

    Imbrications supplémentaires omises

  • body_html_b2_keystring | null

    Imbrications supplémentaires omises

  • anyOf 2null
  • managed_contentnon préciséobligatoire
  • anyOf 1non précisé
  • allOf 1object

    Imbrications supplémentaires omises

  • allOf 2object

    Imbrications supplémentaires omises

  • anyOf 2null
  • subjectstring | nullobligatoire
  • sender_mailboxnon préciséobligatoire
  • anyOf 1object
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • addressstringobligatoire

    Imbrications supplémentaires omises

  • display_namestringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    Imbrications supplémentaires omises

  • anyOf 2null
  • reply_mailboxnon préciséobligatoire
  • anyOf 1object
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • addressstringobligatoire

    Imbrications supplémentaires omises

  • display_namestringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    Imbrications supplémentaires omises

  • anyOf 2null
  • design_versioninteger | nullobligatoire
  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • allOf 2object
  • replayedbooleanobligatoire
  • allOf 2object
  • previewobject
  • subjectstringobligatoire
  • preheaderstring
  • htmlstringobligatoire
  • textstringobligatoire
  • localestringobligatoire
  • directionstringobligatoire

    enum: "ltr", "rtl"

  • warningsarray
  • Chaque élémentstring
  • Propriété supplémentaireToute valeur
  • translation_jobsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "template_id": "00000000-0000-4000-8000-000000000001",
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  },
  "subject_variants": [
    "example"
  ],
  "selected_subject_variant": 0,
  "expires_after_seconds": 1,
  "content_overrides": {}
}'
GET/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}

getBroadcast

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

broadcastId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstring

    format: "uuid"

  • template_idstring | null

    format: "uuid"

  • managed_content_idstring | null

    format: "uuid"

  • managed_source_revision_idstring | null

    format: "uuid"

  • managed_publication_idstring | null

    format: "uuid"

  • managed_locales_snapshotarray
  • Chaque élémentstring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobligatoire
  • subject_variantsarray
  • Chaque élémentstring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propriété supplémentairestring
  • audience_queryobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • audience_frozen_atstring | null

    format: "date-time"

  • audience_recipient_countinteger | null
  • audience_snapshot_sha256string | null
  • audience_snapshot_campaign_versioninteger | null
  • scheduled_atstring | null

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • archived_atstring | null

    format: "date-time"

  • statsobject
  • Propriété supplémentaireToute valeur
  • broadcast_idstringobligatoire

    format: "uuid"

  • sender_addressstring | nullobligatoire
  • sending_blockernon préciséobligatoire
  • anyOf 1object
  • codestringobligatoire
  • messagestringobligatoire
  • anyOf 2null
  • designnon préciséobligatoire
  • anyOf 1object
  • idstring

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestring
  • subjectstring
  • body_textstring
  • contentobject
  • Propriété supplémentairestring
  • slotsarray
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

    Imbrications supplémentaires omises

  • labelstring

    maxLength: 120

    Imbrications supplémentaires omises

  • typestring

    enum: "text", "paragraph", "url", "image"

    Imbrications supplémentaires omises

  • helpstring

    maxLength: 300

    Imbrications supplémentaires omises

  • statusstring

    enum: "active", "archived"

  • originstring

    enum: "person", "agent", "starter", "import"

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versioninteger
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

  • body_htmlstring | null
  • body_html_b2_keystring | null
  • anyOf 2null
  • managed_contentnon préciséobligatoire
  • anyOf 1non précisé
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire

    minimum: 1

  • review_requiredbooleanobligatoire
  • draft_revision_idstring | null

    format: "uuid"

  • submitted_revision_idstring | null

    format: "uuid"

  • approved_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revisionobject
  • Propriété supplémentaireToute valeur
  • translationsarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • translation_jobsarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • allOf 2object
  • source_revisionnon préciséobligatoire
  • anyOf 1object

    Imbrications supplémentaires omises

  • anyOf 2null

    Imbrications supplémentaires omises

  • published_source_revisionnon préciséobligatoire
  • anyOf 1object

    Imbrications supplémentaires omises

  • anyOf 2null

    Imbrications supplémentaires omises

  • translationsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • anyOf 2null
  • subjectstring | nullobligatoire
  • sender_mailboxnon préciséobligatoire
  • anyOf 1object
  • idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • display_namestringobligatoire
  • statusstringobligatoire
  • anyOf 2null
  • reply_mailboxnon préciséobligatoire
  • anyOf 1object
  • idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • display_namestringobligatoire
  • statusstringobligatoire
  • anyOf 2null
  • design_versioninteger | nullobligatoire
  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
PATCH/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}

updateBroadcast

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

broadcastId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestring

    minLength: 1 · maxLength: 200

  • mailbox_idstring

    format: "uuid"

  • template_idstring

    format: "uuid"

  • audienceobject

    Aucune propriété supplémentaire

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Chaque élémentstring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0 · maximum: 7

  • expires_after_secondsinteger

    Abandonnez les destinataires non envoyés après ce nombre de secondes depuis l’heure prévue.

    minimum: 1 · maximum: 604800

  • content_overridesobject
  • Propriété supplémentairestring

    maxLength: 20000

  • expected_versionintegerobligatoire

    minimum: 1

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • mailbox_idstring

    format: "uuid"

  • template_idstring | null

    format: "uuid"

  • managed_content_idstring | null

    format: "uuid"

  • managed_source_revision_idstring | null

    format: "uuid"

  • managed_publication_idstring | null

    format: "uuid"

  • managed_locales_snapshotarray
  • Chaque élémentstring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobligatoire
  • subject_variantsarray
  • Chaque élémentstring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propriété supplémentairestring
  • audience_queryobject

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • audience_frozen_atstring | null

    format: "date-time"

  • audience_recipient_countinteger | null
  • audience_snapshot_sha256string | null
  • audience_snapshot_campaign_versioninteger | null
  • scheduled_atstring | null

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • archived_atstring | null

    format: "date-time"

  • statsobject
  • Propriété supplémentaireToute valeur
  • broadcast_idstringobligatoire

    format: "uuid"

  • sender_addressstring | nullobligatoire
  • sending_blockernon préciséobligatoire
  • anyOf 1object
  • codestringobligatoire
  • messagestringobligatoire
  • anyOf 2null
  • designnon préciséobligatoire
  • anyOf 1object
  • idstring

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestring
  • subjectstring
  • body_textstring
  • contentobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • slotsarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • statusstring

    enum: "active", "archived"

  • originstring

    enum: "person", "agent", "starter", "import"

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versioninteger
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

  • body_htmlstring | null
  • body_html_b2_keystring | null
  • anyOf 2null
  • managed_contentnon préciséobligatoire
  • anyOf 1non précisé
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • versionintegerobligatoire

    minimum: 1

    Imbrications supplémentaires omises

  • review_requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • submitted_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • approved_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revisionobject

    Imbrications supplémentaires omises

  • translationsarray

    Imbrications supplémentaires omises

  • translation_jobsarray

    Imbrications supplémentaires omises

  • allOf 2object
  • source_revisionnon préciséobligatoire

    Imbrications supplémentaires omises

  • published_source_revisionnon préciséobligatoire

    Imbrications supplémentaires omises

  • translationsarrayobligatoire

    Imbrications supplémentaires omises

  • anyOf 2null
  • subjectstring | nullobligatoire
  • sender_mailboxnon préciséobligatoire
  • anyOf 1object
  • idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • display_namestringobligatoire
  • statusstringobligatoire
  • anyOf 2null
  • reply_mailboxnon préciséobligatoire
  • anyOf 1object
  • idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • display_namestringobligatoire
  • statusstringobligatoire
  • anyOf 2null
  • design_versioninteger | nullobligatoire
  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • allOf 2object
  • replayedbooleanobligatoire

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "template_id": "00000000-0000-4000-8000-000000000001",
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  },
  "subject_variants": [
    "example"
  ],
  "selected_subject_variant": 0,
  "expires_after_seconds": 1,
  "content_overrides": {},
  "expected_version": 1
}'
POST/v1/workspaces/{workspaceId}/broadcasts/audience-preview

previewBroadcastAudience

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • audienceobjectobligatoire

    Aucune propriété supplémentaire

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • template_idstring

    format: "uuid"

  • subjectstring

    minLength: 0 · maxLength: 10000

  • content_overridesobject
  • Propriété supplémentairestring

    maxLength: 20000

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • countintegerobligatoire
  • missing_consent_evidence_countintegerobligatoire
  • samplearrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • excludedobjectobligatoire
  • suppressedintegerobligatoire
  • not_subscribedintegerobligatoire
  • missing_recipient_hashintegerobligatoire
  • missing_consent_evidenceintegerobligatoire
  • allOf 2object
  • eligible_countintegerobligatoire
  • required_variablesarrayobligatoire
  • Chaque élémentstring
  • missing_personalization_fieldsarrayobligatoire
  • Chaque élémentobject
  • variablestringobligatoire
  • missingCountintegerobligatoire
  • sampleEmailsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/audience-preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  },
  "template_id": "00000000-0000-4000-8000-000000000001",
  "subject": "example",
  "content_overrides": {}
}'
POST/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview

previewSavedBroadcastAudience

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

broadcastId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • audienceobject

    Aucune propriété supplémentaire

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • countintegerobligatoire
  • missing_consent_evidence_countintegerobligatoire
  • samplearrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • excludedobjectobligatoire
  • suppressedintegerobligatoire
  • not_subscribedintegerobligatoire
  • missing_recipient_hashintegerobligatoire
  • missing_consent_evidenceintegerobligatoire
  • allOf 2object
  • eligible_countintegerobligatoire
  • required_variablesarrayobligatoire
  • Chaque élémentstring
  • missing_personalization_fieldsarrayobligatoire
  • Chaque élémentobject
  • variablestringobligatoire
  • missingCountintegerobligatoire
  • sampleEmailsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "audience": {
    "all_subscribed": true,
    "contact_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "list_ids": [
      "00000000-0000-4000-8000-000000000001"
    ],
    "segment_ids": [
      "00000000-0000-4000-8000-000000000001"
    ]
  }
}'
GET/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/readiness

checkBroadcastReadiness

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

broadcastId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataobjectobligatoire
  • broadcast_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • readybooleanobligatoire
  • blockersarrayobligatoire
  • Chaque élémentobject
  • codestringobligatoire
  • messagestringobligatoire
  • audiencenon préciséobligatoire
  • allOf 1object
  • countintegerobligatoire
  • missing_consent_evidence_countintegerobligatoire
  • samplearrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • emailstringobligatoire

    Imbrications supplémentaires omises

  • display_namestring | nullobligatoire

    Imbrications supplémentaires omises

  • attributesobjectobligatoire

    Imbrications supplémentaires omises

  • excludedobjectobligatoire
  • suppressedintegerobligatoire
  • not_subscribedintegerobligatoire
  • missing_recipient_hashintegerobligatoire
  • missing_consent_evidenceintegerobligatoire
  • allOf 2object
  • eligible_countintegerobligatoire
  • required_variablesarrayobligatoire
  • Chaque élémentstring
  • missing_personalization_fieldsarrayobligatoire
  • Chaque élémentobject
  • variablestringobligatoire

    Imbrications supplémentaires omises

  • missingCountintegerobligatoire

    Imbrications supplémentaires omises

  • sampleEmailsarrayobligatoire

    Imbrications supplémentaires omises

  • audienceobjectobligatoire

    Sélectionnez tous les contacts abonnés ou au moins une liste non vide contact_ids, list_ids ou segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • list_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • segment_idsarray

    maxItems: 1000

  • Chaque élémentstring

    format: "uuid"

    Imbrications supplémentaires omises

  • campaign_versionintegerobligatoire
  • design_versioninteger | nullobligatoire
  • languagesnon préciséobligatoire
  • anyOf 1object

    Les langues de l’audience encore en traduction ne bloquent jamais la Campagne. Leurs lecteurs la reçoivent dès que la traduction est prête et sont ignorés (translation_failed, translation_awaiting_review ou translation_still_preparing) si elle n’est pas prête dans la journée suivant l’envoi.

  • requestedarrayobligatoire
  • Chaque élémentobject
  • localestringobligatoire

    Imbrications supplémentaires omises

  • countintegerobligatoire

    Imbrications supplémentaires omises

  • pending_localesarrayobligatoire
  • Chaque élémentstring
  • waiting_localesarrayobligatoire
  • Chaque élémentstring
  • anyOf 2null
  • sendingobjectobligatoire
  • route_kindstring | null
  • sending_stream_idstring | null

    format: "uuid"

  • banger_send_limitinteger | string | null
  • daily_send_limitinteger | string | null
  • usedinteger | string | null
  • daily_usedinteger | string | null
  • delivery_pacenon préciséobligatoire
  • anyOf 1object
  • daysintegerobligatoire
  • daily_limitintegerobligatoire
  • messagestringobligatoire
  • anyOf 2null
  • approval_requirementsobjectobligatoire
  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire
  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring
  • footerobjectobligatoire
  • identity_presentbooleanobligatoire
  • address_presentbooleanobligatoire
  • checks_are_advisorybooleanobligatoire

    const: true

  • next_actionstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/readiness' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/recipients

listBroadcastRecipients

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

broadcastId
path · obligatoire
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    minLength: 0 · maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100

status
query
  • valuestring

    enum: "pending", "queued", "sent", "delivered", "failed", "skipped", "bounced", "complained"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • contact_idstring | null

    format: "uuid"

  • recipient_emailstring
  • recipient_namestring | null
  • recipient_hashstring
  • statusstring
  • dispatch_statusstring
  • command_idstring | null

    format: "uuid"

  • error_codestring | null
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • delivery_statestring | null
  • provider_message_keystring | null
  • last_event_atstring | null

    format: "date-time"

  • first_delivered_atstring | null

    format: "date-time"

  • first_opened_atstring | null

    format: "date-time"

  • first_clicked_atstring | null

    format: "date-time"

  • first_human_likely_opened_atstring | null

    format: "date-time"

  • first_human_likely_clicked_atstring | null

    format: "date-time"

  • first_replied_atstring | null

    format: "date-time"

  • machine_open_countinteger
  • machine_click_countinteger
  • privacy_proxy_open_countinteger
  • unknown_open_countinteger
  • unknown_click_countinteger
  • first_unsubscribed_atstring | null

    format: "date-time"

  • pageobjectobligatoire
  • next_cursorstring
  • has_morebooleanobligatoire
  • delivery_semanticsstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/recipients?cursor=example&limit=1&status=pending' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/timeline

listBroadcastTimeline

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

broadcastId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • typestringobligatoire
  • occurred_atstringobligatoire

    format: "date-time"

  • actor_idstring | nullobligatoire
  • detailobjectobligatoire
  • Propriété supplémentaireToute valeur
  • delivery_semanticsstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/timeline' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'

Parcours

GET/v1/workspaces/{workspaceId}/journeys

listJourneys

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

status
query
  • valuestring

    enum: "draft", "discovered", "active", "paused", "archived"

trigger_kind
query
  • valuestring
testing
query
  • valuestring

    enum: "1"

q
query
  • valuestring

    maxLength: 200

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Parcours du produit.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring

    Imbrications supplémentaires omises

  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

    Imbrications supplémentaires omises

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

    Imbrications supplémentaires omises

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring

    Imbrications supplémentaires omises

  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

    Imbrications supplémentaires omises

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

    Imbrications supplémentaires omises

  • preheaderstring

    maxLength: 100000

    Imbrications supplémentaires omises

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

    Imbrications supplémentaires omises

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

    Imbrications supplémentaires omises

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

    Imbrications supplémentaires omises

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

    Imbrications supplémentaires omises

  • variablesobjectobligatoire

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject

    Imbrications supplémentaires omises

  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • positioninteger

    minimum: 1 · maximum: 100

    Imbrications supplémentaires omises

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

    Imbrications supplémentaires omises

  • namestringobligatoire

    minLength: 1 · maxLength: 200

    Imbrications supplémentaires omises

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

    Imbrications supplémentaires omises

  • armsarray

    minItems: 2 · maxItems: 4

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys?status=draft&trigger_kind=example&testing=1&q=example' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/journeys

createJourney

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

  • oneOf 1object

    Aucune propriété supplémentaire

  • typestringobligatoire

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultnon précisé

    Doit correspondre au type du champ.

    Imbrications supplémentaires omises

  • oneOf 2object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "object"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultobject

    Imbrications supplémentaires omises

  • propertiesobjectobligatoire

    Imbrications supplémentaires omises

  • oneOf 3object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "list"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultarray

    Imbrications supplémentaires omises

  • itemsnon préciséobligatoire

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring
  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

  • versioninteger
  • draft_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revision_idstring | null

    format: "uuid"

  • layout_revision_idstring | null

    format: "uuid"

  • published_layout_revision_idstring | null

    format: "uuid"

  • source_localestring | null
  • configured_localesarray
  • Chaque élémentstring
  • variablesobject
  • Propriété supplémentaireToute valeur
  • published_variablesobject
  • Propriété supplémentaireToute valeur
  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire

    enum: "A", "B", "C", "D"

  • labelstringobligatoire

    maxLength: 120

  • allocationnumberobligatoire

    minimum: 0 · maximum: 100

  • stepsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

Réponse réussie 201

Parcours créé.

application/json

  • valueobject
  • datanon précisé
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_localestring | null

    Imbrications supplémentaires omises

  • configured_localesarray

    Imbrications supplémentaires omises

  • variablesobject

    Imbrications supplémentaires omises

  • published_variablesobject

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "description": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "from_local_part": "example",
  "trigger": {
    "kind": "manual",
    "connection_id": "00000000-0000-4000-8000-000000000001",
    "config": {
      "event": "example",
      "once_per_person": true,
      "reentry_days": 1
    },
    "conditions": [
      {}
    ]
  },
  "audience": {},
  "goal": {
    "kind": "none",
    "connection_id": "00000000-0000-4000-8000-000000000001",
    "config": {}
  },
  "exit": {
    "on_reply": true,
    "on_unsubscribe": true,
    "on_suppression": true,
    "event": "example"
  },
  "approval_mode": "policy",
  "api": {
    "key": "example",
    "content_mode": "code",
    "identity": "example"
  },
  "managed_content": {
    "source_locale": "example",
    "configured_locales": [
      "example"
    ],
    "fallback_locale": "example",
    "layout_id": "00000000-0000-4000-8000-000000000001",
    "localization_policy": {
      "manual_review": false
    },
    "source": {
      "subject": "example",
      "preheader": "example",
      "body_text": "example",
      "body_html": "example",
      "layout": "example",
      "variants": {},
      "variables": {}
    },
    "samples": {},
    "translations": {}
  },
  "steps": [
    {
      "id": "00000000-0000-4000-8000-000000000001",
      "position": 1,
      "kind": "email",
      "name": "example",
      "config": {},
      "arms": [
        {
          "key": "A",
          "label": "example",
          "allocation": 0,
          "steps": [
            {
              "id": null,
              "position": null,
              "kind": null,
              "name": null,
              "config": null,
              "arms": null
            }
          ]
        }
      ]
    }
  ]
}'
GET/v1/workspaces/{workspaceId}/journeys/{journeyId}

getJourney

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Définition du Parcours, activité d’inscription et tests.

application/json

  • valueobject
  • datanon précisé
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_localestring | null

    Imbrications supplémentaires omises

  • configured_localesarray

    Imbrications supplémentaires omises

  • variablesobject

    Imbrications supplémentaires omises

  • published_variablesobject

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/journeys/{journeyId}

updateJourney

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

  • oneOf 1object

    Aucune propriété supplémentaire

  • typestringobligatoire

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultnon précisé

    Doit correspondre au type du champ.

    Imbrications supplémentaires omises

  • oneOf 2object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "object"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultobject

    Imbrications supplémentaires omises

  • propertiesobjectobligatoire

    Imbrications supplémentaires omises

  • oneOf 3object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "list"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultarray

    Imbrications supplémentaires omises

  • itemsnon préciséobligatoire

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring
  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

  • versioninteger
  • draft_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revision_idstring | null

    format: "uuid"

  • layout_revision_idstring | null

    format: "uuid"

  • published_layout_revision_idstring | null

    format: "uuid"

  • source_localestring | null
  • configured_localesarray
  • Chaque élémentstring
  • variablesobject
  • Propriété supplémentaireToute valeur
  • published_variablesobject
  • Propriété supplémentaireToute valeur
  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire

    enum: "A", "B", "C", "D"

  • labelstringobligatoire

    maxLength: 120

  • allocationnumberobligatoire

    minimum: 0 · maximum: 100

  • stepsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

Réponse réussie 200

Parcours mis à jour.

application/json

  • valueobject
  • datanon précisé
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_localestring | null

    Imbrications supplémentaires omises

  • configured_localesarray

    Imbrications supplémentaires omises

  • variablesobject

    Imbrications supplémentaires omises

  • published_variablesobject

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "description": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "from_local_part": "example",
  "trigger": {
    "kind": "manual",
    "connection_id": "00000000-0000-4000-8000-000000000001",
    "config": {
      "event": "example",
      "once_per_person": true,
      "reentry_days": 1
    },
    "conditions": [
      {}
    ]
  },
  "audience": {},
  "goal": {
    "kind": "none",
    "connection_id": "00000000-0000-4000-8000-000000000001",
    "config": {}
  },
  "exit": {
    "on_reply": true,
    "on_unsubscribe": true,
    "on_suppression": true,
    "event": "example"
  },
  "approval_mode": "policy",
  "api": {
    "key": "example",
    "content_mode": "code",
    "identity": "example"
  },
  "managed_content": {
    "source_locale": "example",
    "configured_locales": [
      "example"
    ],
    "fallback_locale": "example",
    "layout_id": "00000000-0000-4000-8000-000000000001",
    "localization_policy": {
      "manual_review": false
    },
    "source": {
      "subject": "example",
      "preheader": "example",
      "body_text": "example",
      "body_html": "example",
      "layout": "example",
      "variants": {},
      "variables": {}
    },
    "samples": {},
    "translations": {}
  },
  "steps": [
    {
      "id": "00000000-0000-4000-8000-000000000001",
      "position": 1,
      "kind": "email",
      "name": "example",
      "config": {},
      "arms": [
        {
          "key": "A",
          "label": "example",
          "allocation": 0,
          "steps": [
            {
              "id": null,
              "position": null,
              "kind": null,
              "name": null,
              "config": null,
              "arms": null
            }
          ]
        }
      ]
    }
  ]
}'
PATCH/v1/workspaces/{workspaceId}/journeys/{journeyId}

Mettez à jour certains champs du Parcours en conservant les autres champs de définition.

Accepte name, description, mailbox_id, from_local_part, trigger, audience, goal, exit, approval_mode, api et steps. Les objets trigger, goal, api et exit fusionnent sur un niveau ; steps remplace l’arbre fourni. Incluez expected_version pour rejeter une modification obsolète.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • expected_versioninteger

    minimum: 1

  • namestring
  • descriptionstring
  • mailbox_idstring

    format: "uuid"

  • from_local_partstring
  • triggerobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject
  • Propriété supplémentaireToute valeur
  • exitobject
  • Propriété supplémentaireToute valeur
  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • Propriété supplémentaireToute valeur
  • stepsarray
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

  • versioninteger
  • draft_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revision_idstring | null

    format: "uuid"

  • layout_revision_idstring | null

    format: "uuid"

  • published_layout_revision_idstring | null

    format: "uuid"

  • source_localestring | null
  • configured_localesarray
  • Chaque élémentstring
  • variablesobject
  • Propriété supplémentaireToute valeur
  • published_variablesobject
  • Propriété supplémentaireToute valeur
  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire

    enum: "A", "B", "C", "D"

  • labelstringobligatoire

    maxLength: 120

  • allocationnumberobligatoire

    minimum: 0 · maximum: 100

  • stepsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

Réponse réussie 200

Parcours mis à jour.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_localestring | null

    Imbrications supplémentaires omises

  • configured_localesarray

    Imbrications supplémentaires omises

  • variablesobject

    Imbrications supplémentaires omises

  • published_variablesobject

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "expected_version": 1,
  "name": "example",
  "description": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "from_local_part": "example",
  "trigger": {},
  "audience": {},
  "goal": {},
  "exit": {},
  "approval_mode": "policy",
  "api": {},
  "steps": [
    {
      "id": "00000000-0000-4000-8000-000000000001",
      "position": 1,
      "kind": "email",
      "name": "example",
      "config": {},
      "arms": [
        {
          "key": "A",
          "label": "example",
          "allocation": 0,
          "steps": [
            {
              "id": null,
              "position": null,
              "kind": null,
              "name": null,
              "config": null,
              "arms": null
            }
          ]
        }
      ]
    }
  ]
}'
DELETE/v1/workspaces/{workspaceId}/journeys/{journeyId}

deleteJourney

Archive le parcours, le retire de la liste par défaut et arrête les inscriptions actives. L’historique d’envoi est conservé.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Parcours retiré.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/convert-managed

Convertissez un Parcours hérité en pause ou en brouillon en contenu géré préparé.

Conversion irréversible. Pour un Parcours à une étape e-mail, fournissez contract. Pour plusieurs e-mails, y compris les branches divisées, fournissez step_contents avec exactement un step_id enregistré et un contrat HTML/Liquid préparé par e-mail. La conversion est atomique et passe le Parcours à draft. Chaque nouvelle révision de contenu géré reçoit sa propre validation de publication soumise à gouvernance ; aucun e-mail n’est envoyé ou publié pendant la conversion. Banger n’importe ni n’exécute jamais de code source.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • expected_versionintegerobligatoire

    minimum: 1

  • contractobject

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

  • oneOf 1object

    Aucune propriété supplémentaire

  • typestringobligatoire

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultnon précisé

    Doit correspondre au type du champ.

    Imbrications supplémentaires omises

  • oneOf 2object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "object"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultobject

    Imbrications supplémentaires omises

  • propertiesobjectobligatoire

    Imbrications supplémentaires omises

  • oneOf 3object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "list"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultarray

    Imbrications supplémentaires omises

  • itemsnon préciséobligatoire

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring
  • step_contentsarray

    minItems: 1

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • step_idstringobligatoire

    format: "uuid"

  • contractobjectobligatoire

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • oneOf 1non précisé
  • oneOf 2non précisé

Réponse réussie 200

Répétition idempotente de la même conversion.

application/json

  • valueobject
  • dataobjectobligatoire
  • journey_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft"

  • review_requiredbooleanobligatoire

    const: true

  • managed_content_stepsarrayobligatoire
  • Chaque élémentobject
  • step_idstringobligatoire

    format: "uuid"

  • managed_content_idstringobligatoire

    format: "uuid"

  • content_versionintegerobligatoire
  • source_revision_idstring | nullobligatoire

    format: "uuid"

  • previewobjectobligatoire
  • subjectstringobligatoire
  • preheaderstring
  • htmlstringobligatoire
  • textstringobligatoire
  • localestringobligatoire
  • directionstringobligatoire

    enum: "ltr", "rtl"

  • warningsarray
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • Propriété supplémentaireToute valeur
  • translation_jobsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • managed_content_idstring

    format: "uuid"

  • content_versioninteger
  • source_revision_idstring | null

    format: "uuid"

  • previewobject
  • subjectstringobligatoire
  • preheaderstring
  • htmlstringobligatoire
  • textstringobligatoire
  • localestringobligatoire
  • directionstringobligatoire

    enum: "ltr", "rtl"

  • warningsarray
  • Chaque élémentstring
  • Propriété supplémentaireToute valeur
  • replayedbooleanobligatoire
  • approvalsarrayobligatoire
  • Chaque élémentobject
  • step_idstringobligatoire

    format: "uuid"

  • approvalobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray

    Imbrications supplémentaires omises

  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

    Imbrications supplémentaires omises

  • recipient_countinteger | nullobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • reasonsarrayobligatoire

    Imbrications supplémentaires omises

  • checksarrayobligatoire

    Imbrications supplémentaires omises

  • approvalobject
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/convert-managed' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '"example"'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/render

Affichez une étape e-mail enregistrée du Parcours sans envoyer.

Précisez step_id lorsque le Parcours comporte plusieurs étapes e-mail, y compris des branches divisées. Utilise la révision de contenu immuable brouillon ou publiée sélectionnée.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • step_idstring

    format: "uuid"

  • content_statestring

    default: "draft" · enum: "draft", "published"

  • localestring
  • timezonestring
  • sample_setstring
  • variablesobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Objet rendu, HTML, texte brut, locale, identifiants de révision et avertissements d’extraction.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • subjectstringobligatoire
  • preheaderstring
  • htmlstringobligatoire
  • textstringobligatoire
  • localestringobligatoire
  • directionstringobligatoire

    enum: "ltr", "rtl"

  • warningsarray
  • Chaque élémentstring
  • Propriété supplémentaireToute valeur
  • allOf 2object
  • source_revision_idstringobligatoire

    format: "uuid"

  • layout_revision_idstring | nullobligatoire

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/render' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "step_id": "00000000-0000-4000-8000-000000000001",
  "content_state": "draft",
  "locale": "example",
  "timezone": "example",
  "sample_set": "example",
  "variables": {}
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/simulate

Simulez un Parcours enregistré avec éligibilité facultative au déclenchement et campagnes gérées.

Simulation en lecture seule. Omettez enrollment pour un aperçu après inscription, ou fournissez un scénario explicite de déclenchement pour vérifier l’éligibilité du contact actuellement enregistré. Avec enrollment, la portée est from_trigger et la première entrée chronologique est de type enrollment ; les destinataires inéligibles sautent les étapes du Parcours tandis que les candidats indépendants de campagne continuent. assume_active modélise une activation hypothétique, pas une approbation de gouvernance. Réception/déduplication des événements fournisseur, livraison et latence fournisseur, état historique d’audience, déclencheurs planifiés et d’e-mail entrant ne sont pas simulés. Un Parcours API découvert utilise son chemin spécial d’upsert de configuration initiale ; l’exclusion ultérieure de livraison est distincte. Un Parcours API actif vérifie son audience enregistrée avant l’upsert du contact ; la simulation modélise cet ordre sans écrire. Un destinataire API exclu peut donc avoir une entrée d’inscription éligible suivie de exit/suppress, sans envoi rendu ; les campagnes en attente sont annulées.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • atstringobligatoire

    format: "date-time"

  • enrollment_idstring
  • content_statestring

    default: "draft" · enum: "draft", "published"

  • localestring
  • variablesobject
  • Propriété supplémentaireToute valeur
  • communication_historyarray

    Envois ou réservations précédents pour ce destinataire simulé.

    maxItems: 10000

  • Chaque élémentstring

    format: "date-time"

  • contactobjectobligatoire
  • emailstringobligatoire

    format: "email"

  • display_namestringobligatoire
  • attributesobjectobligatoire
  • Propriété supplémentaireToute valeur
  • enrollmentobject

    Tentative facultative de déclenchement à l’horodatage at de premier niveau. Les contacts enregistrés utilisent l’abonnement, l’exclusion et l’appartenance à l’audience actuels. Les contacts API/événement hypothétiques nécessitent subscribed explicite, suppressed=false et une audience all_subscribed.

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "manual", "api", "contact_created", "audience_joined", "event"

  • eventstring

    maxLength: 200

  • assume_activeboolean

    default: false

  • contact_statusstring

    enum: "subscribed", "unsubscribed"

  • suppressedboolean
  • eventsarray

    maxItems: 1000

  • Chaque élémentobject
  • atstringobligatoire

    format: "date-time"

  • kindstringobligatoire

    enum: "attributes", "reply", "unsubscribe", "suppress", "goal"

  • attributesobject
  • Propriété supplémentaireToute valeur
  • broadcastsarray

    Campagnes planifiées enregistrées ou candidats explicites de contenu géré évalués sur la même chronologie destinataire.

    maxItems: 20

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    maxLength: 100

  • atstring

    format: "date-time"

  • expires_atstring

    format: "date-time"

  • campaign_idstring

    format: "uuid"

  • content_idstring

    format: "uuid"

  • source_revision_idstring

    format: "uuid"

  • localestring
  • variablesobject
  • Propriété supplémentaireToute valeur
  • oneOf 1non précisé
  • oneOf 2non précisé

Réponse réussie 200

Chronologie ordonnée, détails des e-mails rendus, portée et avertissements de simulation. Les résultats d’inscription incluent eligible, eligible_assuming_activation, trigger_mismatch, event_mismatch, journey_not_active_or_reviewed, contact_unsubscribed, recipient_hash_missing, contact_suppressed, outside_journey_audience, already_enrolled, contact_predates_enrollment_scan, saved_contact_required, contact_state_unverified et audience_unverified. Les détails identifient le déclencheur et la source de l’état du contact et peuvent signaler que les conditions de déclenchement stockées ne sont pas évaluées par le runtime actuel. Les destinataires de campagnes enregistrées déjà en file d’envoi produisent already_queued ; already_sent est réservé à un envoi accepté.

application/json

  • valueobject
  • dataobjectobligatoire
  • journey_idstringobligatoire

    format: "uuid"

  • journey_versionintegerobligatoire
  • content_statestringobligatoire

    enum: "draft", "published"

  • scopestringobligatoire

    enum: "from_trigger", "after_enrollment"

  • communication_policy_versionintegerobligatoire
  • timelinearrayobligatoire
  • Chaque élémentobject
  • atstringobligatoire

    format: "date-time"

  • step_idstring

    format: "uuid"

  • kindstringobligatoire
  • outcomestringobligatoire
  • detailsnon précisé

    Éléments de simulation propres au résultat.

  • emailsarrayobligatoire
  • Chaque élémentobject
  • step_idstring | nullobligatoire

    format: "uuid"

  • namestringobligatoire
  • armobject
  • split_step_idstring

    format: "uuid"

  • keystringobligatoire
  • labelstringobligatoire
  • sourcestringobligatoire

    enum: "managed", "design", "inline", "empty"

  • statusstringobligatoire

    enum: "rendered", "blocked"

  • subjectstring
  • previewstring
  • codestring
  • messagestring
  • warningsarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/simulate' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "at": "2026-01-01T00:00:00Z",
  "enrollment_id": "example",
  "content_state": "draft",
  "locale": "example",
  "variables": {},
  "communication_history": [
    "2026-01-01T00:00:00Z"
  ],
  "contact": {
    "email": "person@example.com",
    "display_name": "example",
    "attributes": {}
  },
  "enrollment": {
    "kind": "manual",
    "event": "example",
    "assume_active": false,
    "contact_status": "subscribed",
    "suppressed": true
  },
  "events": [
    {
      "at": "2026-01-01T00:00:00Z",
      "kind": "attributes",
      "attributes": {}
    }
  ],
  "broadcasts": [
    "example"
  ]
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/status

setJourneyStatus

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • statusstringobligatoire

    enum: "draft", "active", "paused", "archived"

Réponse réussie 200

Statut du Parcours mis à jour.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_localestring | null

    Imbrications supplémentaires omises

  • configured_localesarray

    Imbrications supplémentaires omises

  • variablesobject

    Imbrications supplémentaires omises

  • published_variablesobject

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/status' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "status": "draft"
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/preview

previewJourney

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Aperçu de l’audience et de la préparation du Parcours.

application/json

  • valueobject
  • dataobjectobligatoire
  • sequence_idstringobligatoire

    format: "uuid"

  • recipient_countintegerobligatoire
  • sample_recipientsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestring | nullobligatoire
  • stepsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

  • versioninteger
  • draft_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revision_idstring | null

    format: "uuid"

  • layout_revision_idstring | null

    format: "uuid"

  • published_layout_revision_idstring | null

    format: "uuid"

  • source_localestring | null
  • configured_localesarray
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • variablesobject
  • Propriété supplémentaireToute valeur
  • published_variablesobject
  • Propriété supplémentaireToute valeur
  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire

    enum: "A", "B", "C", "D"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    maxLength: 120

    Imbrications supplémentaires omises

  • allocationnumberobligatoire

    minimum: 0 · maximum: 100

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    Imbrications supplémentaires omises

  • readybooleanobligatoire
  • exit_configobjectobligatoire

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • emailsarrayobligatoire
  • Chaque élémentobject
  • step_idstring | nullobligatoire

    format: "uuid"

  • namestringobligatoire
  • armobject
  • split_step_idstring

    format: "uuid"

  • keystringobligatoire
  • labelstringobligatoire
  • sourcestringobligatoire

    enum: "managed", "design", "inline", "empty"

  • template_idstring

    format: "uuid"

  • managed_content_idstring

    format: "uuid"

  • subjectstringobligatoire
  • previewstringobligatoire
  • blockersarrayobligatoire
  • Chaque élémentobject
  • codestringobligatoire

    Imbrications supplémentaires omises

  • messagestringobligatoire

    Imbrications supplémentaires omises

  • blockersarrayobligatoire
  • Chaque élémentobject
  • codestringobligatoire
  • messagestringobligatoire
  • step_idstring | nullobligatoire

    format: "uuid"

  • step_namestringobligatoire
  • armstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/preview' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/enroll

Inscrivez des contacts explicites dans un Parcours via une approbation soumise à gouvernance.

Alias de POST /approvals avec action_kind sequence.enroll et payload {sequence_id, contact_ids, sequence_version?, sequence_definition_sha256?}. Utilise la même Idempotency-Key : la même clé renvoie la même approbation depuis les deux routes. Nécessite campaigns:send et un produit.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • contact_idsarrayobligatoire

    minItems: 1 · maxItems: 2000

  • Chaque élémentstring

    format: "uuid"

  • sequence_versioninteger

    minimum: 1

  • sequence_definition_sha256string

    pattern: "^[a-f0-9]{64}$"

Réponse réussie 200

La même Idempotency-Key a rejoué une approbation existante.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/enroll' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "contact_ids": [
    "00000000-0000-4000-8000-000000000001"
  ],
  "sequence_version": 1,
  "sequence_definition_sha256": "example"
}'
GET/v1/workspaces/{workspaceId}/journeys/{journeyId}/executions

listJourneyExecutions

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Exécutions des étapes du Parcours.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • enrollment_idstringobligatoire

    format: "uuid"

  • step_idstringobligatoire

    format: "uuid"

  • positionintegerobligatoire
  • kindstringobligatoire
  • namestringobligatoire
  • statusstringobligatoire
  • attempt_countintegerobligatoire
  • send_intent_idstring | nullobligatoire

    format: "uuid"

  • error_codestring | nullobligatoire
  • started_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/executions' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/journeys/{journeyId}/people

listJourneyPeople

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 200 · default: 50

state
query
  • valuestring

    enum: "in_progress", "finished", "goal_reached", "exited", "failed"

query
query
  • valuestring

    maxLength: 320

step_id
query
  • valuestring

    format: "uuid"

at
query
  • valuestring

    default: "now" · enum: "now", "received"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Personnes du Parcours, entrée la plus récente en premier, avec le résultat de chaque étape e-mail.

application/json

  • valueobject
  • dataobjectobligatoire
  • stepsobjectobligatoire

    Indexé par ID d’étape, pour chaque étape atteinte par quelqu’un.

  • Propriété supplémentaireobject
  • receivedintegerobligatoire
  • skippedintegerobligatoire
  • failedintegerobligatoire
  • nowintegerobligatoire
  • emailsarrayobligatoire
  • Chaque élémentobject
  • step_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • subjectstringobligatoire
  • split_step_idstring

    format: "uuid"

  • arm_keystring
  • countsobjectobligatoire
  • allintegerobligatoire
  • in_progressintegerobligatoire
  • finishedintegerobligatoire
  • goal_reachedintegerobligatoire
  • exitedintegerobligatoire
  • failedintegerobligatoire
  • peoplearrayobligatoire
  • Chaque élémentobject
  • enrollment_idstringobligatoire

    format: "uuid"

  • contact_idstringobligatoire

    format: "uuid"

  • emailstringobligatoire
  • display_namestringobligatoire
  • statestringobligatoire

    enum: "in_progress", "finished", "goal_reached", "exited", "failed"

  • stop_reasonstring
  • error_codestring
  • current_stepobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • kindstringobligatoire
  • next_action_atstring

    format: "date-time"

  • enrolled_atstringobligatoire

    format: "date-time"

  • completed_atstring

    format: "date-time"

  • pathsobjectobligatoire
  • Propriété supplémentairestring
  • emailsobjectobligatoire

    Indexé par ID d’étape e-mail. Une étape sans entrée n’a pas été atteinte.

  • Propriété supplémentaireobject
  • statestringobligatoire

    translating signifie que l’e-mail attend la traduction de la personne. skipped porte error_code translation_failed, translation_awaiting_review ou translation_still_preparing (raison du retard de traduction), et none si le jalon a été atteint d’abord.

    enum: "pending", "translating", "skipped", "failed", "queued", "sent", "delivered", "opened", "clicked", "replied", "bounced", "complained"

    Imbrications supplémentaires omises

  • atstringobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • send_intent_idstring

    Lisez le message exact reçu par cette personne avec GET /transactional-sends/{send_intent_id}.

    format: "uuid"

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • languagenon précisé

    Langue dans laquelle la personne a reçu cet e-mail ou, pendant translating, celle attendue.

    Imbrications supplémentaires omises

  • variant_keystring

    Variante d’expérience de cet e-mail reçue par la personne lorsque l’étape exécute une expérience.

    Imbrications supplémentaires omises

  • pageobjectobligatoire
  • has_morebooleanobligatoire
  • next_cursorstring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/people?cursor=example&limit=50&state=in_progress&query=example&step_id=00000000-0000-4000-8000-000000000001&at=now' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/journeys/{journeyKey}/send

sendJourney

Envoie un e-mail via le Parcours. reply_to utilise par défaut la boîte mail du Parcours ; une liste vide signifie aussi la valeur par défaut. Un refus (4xx) ne fige rien pour le destinataire : un appel corrigé avec une nouvelle clé d’idempotence envoie donc l’e-mail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyKey
path · obligatoire
  • valuestring

    minLength: 1 · maxLength: 100

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject
  • tonon précisé

    Destinataires de to, cc, bcc et reply_to : une adresse ("a@example.com" ou "Pat <a@example.com>"), un objet { email, name } ou une liste mélangeant les deux. Banger les stocke en objets { email, name } avec l’e-mail en minuscules. Le hash d’idempotence couvre le corps tel qu’envoyé : réessayez avec le même format.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatoire

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Chaque élémentnon précisé
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatoire

    format: "email"

  • reply_tonon précisé

    Destinataires de to, cc, bcc et reply_to : une adresse ("a@example.com" ou "Pat <a@example.com>"), un objet { email, name } ou une liste mélangeant les deux. Banger les stocke en objets { email, name } avec l’e-mail en minuscules. Le hash d’idempotence couvre le corps tel qu’envoyé : réessayez avec le même format.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatoire

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Chaque élémentnon précisé
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatoire

    format: "email"

  • expires_atstring

    format: "date-time"

  • expires_after_secondsinteger

    minimum: 1 · maximum: 604800

  • Propriété supplémentaireToute valeur

Réponse réussie 202

E-mail du Parcours accepté.

application/json

  • valueobject
  • dataobjectobligatoire
  • action_kindstringobligatoire

    enum: "transactional.send"

  • idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • provider_attempt_idstring

    format: "uuid"

  • statusstringobligatoire

    États sent/queued de livraison ou, pour une requête figée : deferred (planifiée par la politique ou en attente de traduction), processing (en cours d’envoi), discarded.

  • replayedboolean
  • journeynon préciséobligatoire
  • anyOf 1object
  • journey_idstringobligatoire

    format: "uuid"

  • enrollment_idstringobligatoire

    format: "uuid"

  • step_idstringobligatoire

    format: "uuid"

  • step_positionintegerobligatoire
  • originstring

    enum: "journey"

  • journey_identitystring
  • anyOf 2null
  • ignored_variablesarrayobligatoire
  • Chaque élémentstring
  • scheduled_atstring

    format: "date-time"

  • reasonstring
  • communication_reservation_idstring

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyKey}/send' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "to": "example",
  "reply_to": "example",
  "expires_at": "2026-01-01T00:00:00Z",
  "expires_after_seconds": 1
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/claim

claimJourney

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • mailbox_idstringobligatoire

    format: "uuid"

  • delivery_classstringobligatoire

    enum: "product", "broadcast"

  • content_modestringobligatoire

    enum: "code", "managed"

  • template_idstring

    format: "uuid"

  • from_sampleboolean
  • variablesarray

    maxItems: 50

  • Chaque élémentobject
  • literalstringobligatoire

    minLength: 1 · maxLength: 10000

  • namestringobligatoire

    pattern: "^[a-z][a-z0-9_]{0,63}$"

  • activateboolean

Réponse réussie 200

Parcours découvert revendiqué.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_localestring | null

    Imbrications supplémentaires omises

  • configured_localesarray

    Imbrications supplémentaires omises

  • variablesobject

    Imbrications supplémentaires omises

  • published_variablesobject

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/claim' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "delivery_class": "product",
  "content_mode": "code",
  "template_id": "00000000-0000-4000-8000-000000000001",
  "from_sample": true,
  "variables": [
    {
      "literal": "example",
      "name": "example"
    }
  ],
  "activate": true
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/merge

mergeJourneys

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • loser_idstringobligatoire

    format: "uuid"

Réponse réussie 200

Parcours fusionnés.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_localestring | null

    Imbrications supplémentaires omises

  • configured_localesarray

    Imbrications supplémentaires omises

  • variablesobject

    Imbrications supplémentaires omises

  • published_variablesobject

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/merge' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "loser_id": "00000000-0000-4000-8000-000000000001"
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/{stepId}/decide

decideJourneySplit

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

stepId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • arm_keystringobligatoire

Réponse réussie 200

Branche gagnante promue.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobligatoire
  • kindstringobligatoire

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Chaque personne entre une fois. Définissez false pour permettre une nouvelle entrée après la fin.

    default: true

  • reentry_daysinteger

    Avec once_per_person false, nombre de jours après la dernière entrée d’une personne avant de pouvoir entrer à nouveau.

    minimum: 1 · maximum: 365

  • Propriété supplémentaireToute valeur
  • conditionsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • audienceobject
  • Propriété supplémentaireToute valeur
  • goalobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobligatoire
  • Propriété supplémentaireToute valeur
  • exitobject

    Aucune propriété supplémentaire

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • keystring

    maxLength: 100

  • content_modestring

    enum: "code", "managed"

  • identitystring

    maxLength: 300

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatoire

    enum: "email", "wait", "condition", "action", "split"

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrat source typé et identité de révision brouillon/publiée pour une étape e-mail.

  • idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • versioninteger

    Imbrications supplémentaires omises

  • draft_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_publication_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • published_layout_revision_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • source_localestring | null

    Imbrications supplémentaires omises

  • configured_localesarray

    Imbrications supplémentaires omises

  • variablesobject

    Imbrications supplémentaires omises

  • published_variablesobject

    Imbrications supplémentaires omises

  • configobjectobligatoire

    Les étapes d’attente acceptent facultativement until avec name, path, operator (equals, not_equals, contains ou exists) et value, plus on_met obligatoire (continue ou end_journey). continue saute l’e-mail de rappel suivant ; end_journey termine le Parcours. Un e-mail de rappel doit suivre immédiatement dans la même branche. L’attente vérifie les données client actuelles chaque minute jusqu’à amount/unit. Les champs absents sont inconnus et retiennent le rappel. Les attentes ordinaires et conditions indépendantes conservent leur comportement. Nommez les vérifications avec des jalons client vérifiés. Les étapes e-mail gérées référencent le contenu publié via managed_content_id ; l’activation refuse une référence non publiée. Les étapes e-mail peuvent définir expires_after_seconds (1-604800) pour abandonner un envoi différé après cet intervalle depuis son début initial ; sept jours par défaut.

  • Propriété supplémentaireToute valeur
  • armsarray

    minItems: 2 · maxItems: 4

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Chaque élémentstring
  • samplesarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • versionintegerobligatoire

    minimum: 1

  • statsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • armStatsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • healthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • indicatorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • sparklinearrayobligatoire
  • Chaque élémentnumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/{stepId}/decide' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "arm_key": "example"
}'
GET/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/recommend

recommendJourneyArms

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

journeyId
path · obligatoire
  • valuestring

    format: "uuid"

position
query
  • valueinteger

    minimum: 1 · maximum: 100

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Nombre recommandé de branches de test et moment de décision.

application/json

  • valueobject
  • dataobjectobligatoire
  • arms_maxintegerobligatoire
  • weekly_arrivalsintegerobligatoire
  • per_arm_eta_daysobjectobligatoire
  • Propriété supplémentairenumber

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/recommend?position=1' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Approbations

GET/v1/workspaces/{workspaceId}/approvals/{approvalId}/managed-layout-preview/{contentId}

Lisez les rendus complets avant/après en locale source du contenu lié à une approbation de mise en page.

Reconstruit depuis les révisions immuables et vérifie les deux hashes sources par rapport au snapshot d’approbation. Aucun remplacement de locale n’est accepté.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

sample
query
  • valuestring

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Objet, HTML et texte brut complets avant et après, vérifiés par hash.

application/json

  • valueobject
  • dataobjectobligatoire
  • content_idstringobligatoire

    format: "uuid"

  • sample_namestring | nullobligatoire
  • localestringobligatoire
  • old_source_hashstringobligatoire
  • new_source_hashstringobligatoire
  • beforeobjectobligatoire
  • subjectstringobligatoire
  • htmlstringobligatoire
  • textstringobligatoire
  • afterobjectobligatoire
  • subjectstringobligatoire
  • htmlstringobligatoire
  • textstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/managed-layout-preview/{contentId}?sample=example' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/approvals/{approvalId}/journey-preview

Affichez chaque e-mail d’une approbation d’activation ou d’inscription de Parcours depuis son snapshot de validation lié.

Les e-mails sont rendus avec une personnalisation d’exemple depuis la définition exacte validée (designs enregistrés par leur clé HTML immuable, révisions gérées figées), jamais depuis le Parcours actuel. Nomme aussi les listes d’audience, segments et connexions de déclencheur/objectif référencés par le snapshot.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

E-mails rendus indexés par position d’étape (étapes de branche comme parent.arm.position), avec noms d’audience et de connexion.

application/json

  • valueobject
  • dataobjectobligatoire
  • approval_idstringobligatoire

    format: "uuid"

  • sequence_idstring | null

    format: "uuid"

  • emailsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire
  • positionintegerobligatoire
  • parent_positioninteger | nullobligatoire
  • arm_keystring | nullobligatoire
  • sourcestringobligatoire

    enum: "managed", "design", "inline", "empty"

  • subjectstringobligatoire
  • preview_textstringobligatoire
  • body_htmlstring
  • body_textstringobligatoire
  • publishedboolean
  • errorstring
  • listsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • namestringobligatoire
  • member_countintegerobligatoire
  • segmentsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • namestringobligatoire
  • connectionsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • namestringobligatoire
  • image_assetsobjectobligatoire
  • Propriété supplémentairestring
  • sample_valuesbooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/journey-preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/approvals

listApprovalRequests

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

status
query
  • valuestring

    enum: "undecided", "pending", "approved", "rejected", "cancelled", "expired"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Boîte d’audit des validations automatiques et humaines de l’espace de travail.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals?status=undecided' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/approvals

createApprovalRequest

Pour les actions canoniques Banger, Banger déduit les portées exactes, applique la politique de validation de l’espace de travail, consigne une demande d’audit immuable et met automatiquement en file les actions dans la limite configurée. Pour publier la source d’un e-mail géré, utilisez action_kind managed_email.publish et payload {content_id, expected_version} ; Banger lie la révision/hash source et impose une validation humaine si nécessaire. Les types d’approbation génériques restent toujours en attente et doivent fournir summary, capabilities et resources. Dans les payloads mail.draft et transactional.send, to, cc, bcc et reply_to acceptent tout format RecipientInput et sont stockés en objets { email, name }.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header

Requis pour les actions Banger reconnues ; les demandes d’approbation personnalisées n’utilisent pas cet en-tête.

  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • action_kindstringobligatoire

    minLength: 1 · maxLength: 100

  • summarystring

    minLength: 1 · maxLength: 500

  • capabilitiesarray

    minItems: 1 · maxItems: 50

  • Chaque élémentstring

    maxLength: 100

  • resourcesobject
  • Propriété supplémentairearray

    maxItems: 500

  • Chaque élémentstring

    maxLength: 200

  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • expires_in_secondsinteger

    minimum: 60 · maximum: 86400 · default: 3600

  • approve_as_launcherboolean

    Pour sequence.activate : une personne qui appuie sur Activer approuve cette requête exacte si la politique de validation exige une personne. Ignoré pour les clés API et les agents, qui attendent dans Approbations.

Réponse réussie 201

Demande soumise à gouvernance créée ; elle peut déjà être approuvée automatiquement et en file.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "action_kind": "example",
  "summary": "example",
  "capabilities": [
    "example"
  ],
  "resources": {},
  "payload": {},
  "expires_in_seconds": 3600,
  "approve_as_launcher": true
}'
GET/v1/workspaces/{workspaceId}/approvals/count

Comptez les approbations en attente ou dont le délai a expiré avant décision.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Nombre d’approbations non décidées dans la portée produit.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • pendingintegerobligatoire

    minimum: 0

  • missedintegerobligatoire

    minimum: 0

  • totalintegerobligatoire

    minimum: 0

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/count' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/approvals/{approvalId}

getApprovalRequest

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Demande d’approbation exacte et payload d’action lié.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/decision

decideApprovalRequest

Sessions humaines de navigateur uniquement. Les clés API d’espace de travail ne peuvent pas décider des approbations.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • decisionstringobligatoire

    enum: "approved", "rejected"

  • reasonstring

    maxLength: 500

  • expected_payload_sha256string

    Hash du payload d’approbation exact affiché au validateur ; une divergence renvoie 409.

    pattern: "^[a-f0-9]{64}$"

Réponse réussie 200

Décision d’approbation consignée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/decision' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "decision": "approved",
  "reason": "example",
  "expected_payload_sha256": "example"
}'
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/cancel

cancelApprovalRequest

Annulez une approbation encore en attente sans l’exécuter. Sessions humaines de navigateur uniquement.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • reasonstring

    maxLength: 500

Réponse réussie 200

Approbation annulée et toute exécution d’agent en attente reprise sans l’action.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/cancel' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "reason": "example"
}'
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/dismiss

dismissApprovalRequest

Écartez une approbation dont le délai de décision a expiré. Sessions humaines de navigateur uniquement.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Approbation expirée écartée et consignée comme annulée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/dismiss' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/rerequest

rerequestApprovalRequest

Clonez une approbation expirée avec un nouveau délai de décision et annulez l’ancienne demande. Sessions humaines de navigateur uniquement.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 201

Nouvelle demande d’approbation créée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/rerequest' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/revise

reviseApprovalRequest

Remplacez une action Banger en attente soumise à gouvernance par une approbation nouvellement canonicalisée. L’ancienne demande reste dans l’historique comme annulée.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

approvalId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur

Réponse réussie 201

Approbation de remplacement créée pour validation humaine.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/revise' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "payload": {}
}'

Exécutions d’agents

GET/v1/workspaces/{workspaceId}/agent-runs

Listez les exécutions récentes d’agents internes de l’espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Exécutions récentes en ordre chronologique inverse.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • taskstringobligatoire
  • modelstringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • statusstringobligatoire

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobligatoire
  • max_runtime_secondsintegerobligatoire
  • current_generationintegerobligatoire
  • latest_checkpointobject | null
  • Propriété supplémentaireToute valeur
  • latest_checkpoint_sequenceintegerobligatoire
  • resultobject | null
  • Propriété supplémentaireToute valeur
  • error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatoire
  • stepsarray
  • Chaque élémentobject
  • sequenceintegerobligatoire

    minimum: 1

  • attempt_generationintegerobligatoire

    minimum: 1

  • kindstringobligatoire

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobligatoire

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputnon précisé
  • outputnon précisé
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobligatoire

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/agent-runs?limit=50' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/agent-runs

Démarrez une exécution isolée d’agent interne Banger.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • taskstringobligatoire

    minLength: 1 · maxLength: 32000

  • modelstring

    minLength: 1 · maxLength: 200

  • max_stepsinteger

    minimum: 1 · maximum: 50 · default: 12

  • max_runtime_secondsinteger

    minimum: 30 · maximum: 3600 · default: 900

  • connection_toolsarray

    maxItems: 20

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • connection_idstringobligatoire

    format: "uuid"

  • adapter_keystringobligatoire

    minLength: 1 · maxLength: 63

  • operationsarrayobligatoire

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    minLength: 1 · maxLength: 100

  • action_toolsarray

    maxItems: 6 · uniqueItems: true

  • Chaque élémentstring

    enum: "mailbox.create", "mail.draft", "transactional.send", "template.update", "campaign.draft", "campaign.schedule"

Réponse réussie 200

Répétition idempotente de l’exécution existante.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • taskstringobligatoire
  • modelstringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • statusstringobligatoire

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobligatoire
  • max_runtime_secondsintegerobligatoire
  • current_generationintegerobligatoire
  • latest_checkpointobject | null
  • Propriété supplémentaireToute valeur
  • latest_checkpoint_sequenceintegerobligatoire
  • resultobject | null
  • Propriété supplémentaireToute valeur
  • error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatoire
  • stepsarray
  • Chaque élémentobject
  • sequenceintegerobligatoire

    minimum: 1

  • attempt_generationintegerobligatoire

    minimum: 1

  • kindstringobligatoire

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobligatoire

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputnon précisé
  • outputnon précisé
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobligatoire

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/agent-runs' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "task": "example",
  "model": "example",
  "max_steps": 12,
  "max_runtime_seconds": 900,
  "connection_tools": [
    {
      "connection_id": "00000000-0000-4000-8000-000000000001",
      "adapter_key": "example",
      "operations": [
        "example"
      ]
    }
  ],
  "action_tools": [
    "mailbox.create"
  ]
}'
GET/v1/workspaces/{workspaceId}/agent-runs/{runId}

getAgentRun

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

runId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Exécution canonique, point de contrôle, résultat final et étapes ordonnées.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • taskstringobligatoire
  • modelstringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • statusstringobligatoire

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobligatoire
  • max_runtime_secondsintegerobligatoire
  • current_generationintegerobligatoire
  • latest_checkpointobject | null
  • Propriété supplémentaireToute valeur
  • latest_checkpoint_sequenceintegerobligatoire
  • resultobject | null
  • Propriété supplémentaireToute valeur
  • error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatoire
  • stepsarray
  • Chaque élémentobject
  • sequenceintegerobligatoire

    minimum: 1

  • attempt_generationintegerobligatoire

    minimum: 1

  • kindstringobligatoire

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobligatoire

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputnon précisé
  • outputnon précisé
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobligatoire

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/agent-runs/{runId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/agent-runs/{runId}/cancel

cancelAgentRun

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

runId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Exécution d’agent annulée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • taskstringobligatoire
  • modelstringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • statusstringobligatoire

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobligatoire
  • max_runtime_secondsintegerobligatoire
  • current_generationintegerobligatoire
  • latest_checkpointobject | null
  • Propriété supplémentaireToute valeur
  • latest_checkpoint_sequenceintegerobligatoire
  • resultobject | null
  • Propriété supplémentaireToute valeur
  • error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatoire
  • stepsarray
  • Chaque élémentobject
  • sequenceintegerobligatoire

    minimum: 1

  • attempt_generationintegerobligatoire

    minimum: 1

  • kindstringobligatoire

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobligatoire

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputnon précisé
  • outputnon précisé
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobligatoire

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/agent-runs/{runId}/cancel' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Agents

GET/v1/workspaces/{workspaceId}/agents

Listez les agents IA (clients MCP) pouvant agir pour cet espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Connexions d’agents actives, plus récentes en premier.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • client_namestringobligatoire
  • client_surfacestringobligatoire

    Plateforme d’agent derrière une connexion OAuth, d’après le nom du client et ses URI de redirection.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • scopesarrayobligatoire
  • Chaque élémentstring
  • connected_atstringobligatoire

    format: "date-time"

  • last_active_atstringobligatoire

    format: "date-time"

  • connected_by_youbooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/agents' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/agents/{agentId}/revoke

Révoquez l’accès d’un agent. Il cesse de fonctionner sous environ 30 secondes.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

agentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Accès de l’agent révoqué.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • revokedbooleanobligatoire

    const: true

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/agents/{agentId}/revoke' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Commandes IA

POST/v1/workspaces/{workspaceId}/ai/command-runs

Démarrer une commande d’assistant mail avec lectures et propositions soumises à confirmation

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

X-Banger-Product-Id
header
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • commandTextstringobligatoire

    minLength: 1 · maxLength: 8000

Réponse réussie 200

Requêtes de lecture, réponse ou actions nécessitant confirmation

application/json

  • valueobject
  • runIdstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "requires_tool_results", "completed", "requires_confirmation"

  • assistantMessagestringobligatoire
  • toolCallsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • toolNamestringobligatoire
  • argumentsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • reasonstringobligatoire
  • proposedActionsarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • toolNamestringobligatoire
  • argumentsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • reasonstringobligatoire
  • allOf 2object
  • confirmationRequiredbooleanobligatoire

    const: true

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/ai/command-runs' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: example' \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "commandText": "example"
}'
POST/v1/workspaces/{workspaceId}/ai/command-runs/{runId}/tool-results

Continuer une commande appartenant à l’acteur dans sa portée produit initiale

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

runId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • toolResultsarrayobligatoire

    minItems: 1 · maxItems: 8

  • Chaque élémentobject
  • toolCallIdstringobligatoire

    format: "uuid"

  • toolNamestringobligatoire

    enum: "list_mailboxes", "search_mail", "list_unread", "list_work_items", "get_thread"

  • okbooleanobligatoire
  • resultnon précisé
  • errorstring

Réponse réussie 200

Réponse suivante de la commande ; les résultats répétés sont rejoués sans nouvel appel d’inférence

application/json

  • valueobject
  • runIdstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "requires_tool_results", "completed", "requires_confirmation"

  • assistantMessagestringobligatoire
  • toolCallsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • toolNamestringobligatoire
  • argumentsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • reasonstringobligatoire
  • proposedActionsarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • toolNamestringobligatoire
  • argumentsobjectobligatoire
  • Propriété supplémentaireToute valeur
  • reasonstringobligatoire
  • allOf 2object
  • confirmationRequiredbooleanobligatoire

    const: true

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/ai/command-runs/{runId}/tool-results' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "toolResults": [
    {
      "toolCallId": "00000000-0000-4000-8000-000000000001",
      "toolName": "list_mailboxes",
      "ok": true,
      "result": "example",
      "error": "example"
    }
  ]
}'
POST/v1/workspaces/{workspaceId}/ai/email/revise

Générez une révision d’e-mail à valider sans l’enregistrer ni l’envoyer.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • connection_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "openai", "anthropic"

  • modelstring

    maxLength: 200

  • instructionstringobligatoire

    minLength: 1 · maxLength: 40000

  • currentobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    maxLength: 998

  • body_textstringobligatoire

    maxLength: 100000

  • body_htmlstringobligatoire

    maxLength: 200000

Réponse réussie 200

Proposition structurée de révision depuis la connexion IA sélectionnée appartenant au client.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire
  • subject_optionsarrayobligatoire
  • Chaque élémentstring
  • body_textstringobligatoire
  • body_htmlstringobligatoire
  • change_summarystringobligatoire
  • provider_response_idstring
  • modelstringobligatoire
  • usageobject
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/ai/email/revise' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "connection_id": "00000000-0000-4000-8000-000000000001",
  "provider": "openai",
  "model": "example",
  "instruction": "example",
  "current": {
    "subject": "example",
    "body_text": "example",
    "body_html": "example"
  }
}'
GET/v1/workspaces/{workspaceId}/ai/email/capabilities

getAiEmailCapabilities

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • categorizationobjectobligatoire
  • availablebooleanobligatoire

    const: false

  • enabledbooleanobligatoire

    const: false

  • reasonstringobligatoire

    enum: "not_configured"

  • managednon préciséobligatoire
  • oneOf 1object
  • availablebooleanobligatoire

    const: false

  • oneOf 2object
  • availablebooleanobligatoire

    const: true

  • providerstringobligatoire

    enum: "openai", "anthropic"

  • modelstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/ai/email/capabilities' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/ai/email/generate

generateEmailWithAi

Générez un design d’e-mail complet conforme à la marque à partir d’un brief. Proposition uniquement.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject
  • briefstringobligatoire

    minLength: 1 · maxLength: 40000

  • audiencestring

    maxLength: 4000

  • starterobject
  • subjectstring

    maxLength: 998

  • body_textstring

    maxLength: 100000

  • body_htmlstring

    maxLength: 200000

  • connection_idstring

    format: "uuid"

  • providerstring

    enum: "openai", "anthropic"

  • modelstring

    maxLength: 200

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • dataobjectobligatoire
  • subjectstringobligatoire
  • subject_optionsarrayobligatoire
  • Chaque élémentstring
  • body_textstringobligatoire
  • body_htmlstringobligatoire
  • change_summarystringobligatoire
  • provider_response_idstring
  • modelstringobligatoire
  • usageobject
  • Propriété supplémentaireToute valeur
  • managedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/ai/email/generate' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "brief": "example",
  "audience": "example",
  "starter": {
    "subject": "example",
    "body_text": "example",
    "body_html": "example"
  },
  "connection_id": "00000000-0000-4000-8000-000000000001",
  "provider": "openai",
  "model": "example"
}'

Statistiques

POST/v1/workspaces/{workspaceId}/analytics/visitor

Associer une visite du site à la personne connectée

Nécessite une session humaine connectée ; les clés API sont refusées.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • visitor_idstringobligatoire

    pattern: "^[A-Za-z0-9-]{8,64}$"

Réponse réussie 204

Réponse réussie.

Aucun corps de réponse.

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/analytics/visitor' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "visitor_id": "example"
}'

Agents de réponse

GET/v1/workspaces/{workspaceId}/answer-agents

listAnswerAgents

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Agents de réponse de l’espace de travail.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • identityIdstringobligatoire

    format: "uuid"

  • workspaceIdstringobligatoire

    format: "uuid"

  • originstringobligatoire

    const: "internal"

  • namestringobligatoire
  • systemPromptstring
  • enabledbooleanobligatoire
  • sendPolicystringobligatoire

    enum: "draft_only", "reviewed_send", "direct_send"

  • mailboxIdsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • createdAtstringobligatoire

    format: "date-time"

  • updatedAtstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/answer-agents' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/answer-agents

createAnswerAgent

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 100

  • system_promptstring

    maxLength: 32000

  • enabledboolean

    default: true

  • send_policystring

    default: "draft_only" · enum: "draft_only", "reviewed_send", "direct_send"

  • mailbox_idsarray

    maxItems: 250

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 201

Agent de réponse créé.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • identityIdstringobligatoire

    format: "uuid"

  • workspaceIdstringobligatoire

    format: "uuid"

  • originstringobligatoire

    const: "internal"

  • namestringobligatoire
  • systemPromptstring
  • enabledbooleanobligatoire
  • sendPolicystringobligatoire

    enum: "draft_only", "reviewed_send", "direct_send"

  • mailboxIdsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • createdAtstringobligatoire

    format: "date-time"

  • updatedAtstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/answer-agents' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "system_prompt": "example",
  "enabled": true,
  "send_policy": "draft_only",
  "mailbox_ids": [
    "00000000-0000-4000-8000-000000000001"
  ]
}'

Ressources multimédias

GET/v1/workspaces/{workspaceId}/assets

Listez les images d’e-mail du produit et leurs URL publiques immuables.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Jusqu’aux 100 images d’e-mail du produit les plus récentes.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • mime_typestringobligatoire

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobligatoire

    minimum: 1 · maximum: 2097152

  • sha256stringobligatoire

    pattern: "^[a-f0-9]{64}$"

  • created_atstringobligatoire

    format: "date-time"

  • public_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/assets' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/assets

Stockez une image immuable pour le contenu d’e-mail géré.

Envoyez les octets bruts PNG, JPEG, GIF ou WebP avec le Content-Type correspondant et X-File-Name facultatif, ou JSON avec base64, mime_type et filename. Les deux formats permettent jusqu’à 2 MiB d’octets d’image décodés. L’URL de réponse peut être utilisée directement en HTML ; aucun registre de destinations localisé n’est créé.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

image/png

  • valuestring

    format: "binary"

image/jpeg

  • valuestring

    format: "binary"

image/gif

  • valuestring

    format: "binary"

image/webp

  • valuestring

    format: "binary"

application/json

  • valueobject

    Aucune propriété supplémentaire

  • base64stringobligatoire

    Octets d’image

  • mime_typestringobligatoire

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • filenamestring

    maxLength: 200

Réponse réussie 201

Image enregistrée avec URL publique immuable.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • mime_typestringobligatoire

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobligatoire

    minimum: 1 · maximum: 2097152

  • sha256stringobligatoire

    pattern: "^[a-f0-9]{64}$"

  • created_atstringobligatoire

    format: "date-time"

  • public_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/assets' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "base64": "example",
  "mime_type": "image/png",
  "filename": "example"
}'
GET/v1/workspaces/{workspaceId}/assets/{assetId}

Lisez les métadonnées et l’URL publique d’une image d’e-mail du produit.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

assetId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Métadonnées d’image du produit.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • mime_typestringobligatoire

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobligatoire

    minimum: 1 · maximum: 2097152

  • sha256stringobligatoire

    pattern: "^[a-f0-9]{64}$"

  • created_atstringobligatoire

    format: "date-time"

  • public_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/assets/{assetId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'

Automatisation

POST/v1/workspaces/{workspaceId}/automation/jobs

createExecutionJob

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    minLength: 1 · maxLength: 100

  • approval_idstring

    format: "uuid"

  • capabilitiesarrayobligatoire

    Les clés API ne peuvent déléguer que les capacités déjà présentes sur cette clé.

    minItems: 1 · maxItems: 50

  • Chaque élémentstring

    maxLength: 100

  • resourcesobjectobligatoire
  • Propriété supplémentairearray

    maxItems: 500

  • Chaque élémentstring

    maxLength: 200

  • inputobjectobligatoire
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Répétition idempotente d’une tâche d’exécution isolée existante.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • placement_idstringobligatoire

    format: "uuid"

  • placement_generationintegerobligatoire

    format: "int64"

  • kindstringobligatoire
  • requested_by_actor_idstringobligatoire
  • approval_idstring | null

    format: "uuid"

  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • statusstringobligatoire

    enum: "queued", "leased", "succeeded", "failed", "cancelled"

  • attempt_countintegerobligatoire
  • resultnon précisé
  • error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/automation/jobs' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "kind": "example",
  "approval_id": "00000000-0000-4000-8000-000000000001",
  "capabilities": [
    "example"
  ],
  "resources": {},
  "input": {}
}'
GET/v1/workspaces/{workspaceId}/automation/jobs/{jobId}

getExecutionJob

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

jobId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État canonique actuel d’exécution.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • placement_idstringobligatoire

    format: "uuid"

  • placement_generationintegerobligatoire

    format: "int64"

  • kindstringobligatoire
  • requested_by_actor_idstringobligatoire
  • approval_idstring | null

    format: "uuid"

  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • statusstringobligatoire

    enum: "queued", "leased", "succeeded", "failed", "cancelled"

  • attempt_countintegerobligatoire
  • resultnon précisé
  • error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/automation/jobs/{jobId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Marque

POST/v1/workspaces/{workspaceId}/brand/discover

discoverProductBrand

Lisez le site du produit et enregistrez les suggestions de marque découvertes sans écraser les valeurs explicites. Nécessite une portée d’écriture des campagnes.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

product_id
query · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • sourcesobjectobligatoire
  • Propriété supplémentairestring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobligatoire
  • missingarrayobligatoire
  • Chaque élémentstring
  • product_kindstringobligatoire

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • discovery_statusstring | null
  • product_idstringobligatoire

    format: "uuid"

  • product_domainstring | nullobligatoire
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Images de logo découvertes sur le site du produit (en-tête, pied de page, logos déclarés), pour remplacement en un clic.

  • Chaque élémentstring
  • mediaobjectobligatoire
  • art_base_urlstringobligatoire
  • hero_image_urlstring
  • email_fontsobjectobligatoire
  • headingobjectobligatoire
  • stackstringobligatoire
  • fontstringobligatoire
  • web_fontbooleanobligatoire
  • clientsarrayobligatoire
  • Chaque élémentobject
  • clientstringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • fontstringobligatoire

    Imbrications supplémentaires omises

  • web_fontbooleanobligatoire

    Imbrications supplémentaires omises

  • fallbackbooleanobligatoire

    Imbrications supplémentaires omises

  • bodyobjectobligatoire
  • stackstringobligatoire
  • fontstringobligatoire
  • web_fontbooleanobligatoire
  • clientsarrayobligatoire
  • Chaque élémentobject
  • clientstringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • fontstringobligatoire

    Imbrications supplémentaires omises

  • web_fontbooleanobligatoire

    Imbrications supplémentaires omises

  • fallbackbooleanobligatoire

    Imbrications supplémentaires omises

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/brand/discover?product_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/brand

getBrand

Kit de marque résolu du produit avec sources par champ.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • sourcesobjectobligatoire
  • Propriété supplémentairestring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobligatoire
  • missingarrayobligatoire
  • Chaque élémentstring
  • product_kindstringobligatoire

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • discovery_statusstring | null
  • product_idstringobligatoire

    format: "uuid"

  • product_domainstring | nullobligatoire
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Images de logo découvertes sur le site du produit (en-tête, pied de page, logos déclarés), pour remplacement en un clic.

  • Chaque élémentstring
  • mediaobjectobligatoire
  • art_base_urlstringobligatoire
  • hero_image_urlstring
  • email_fontsobjectobligatoire
  • headingobjectobligatoire
  • stackstringobligatoire
  • fontstringobligatoire
  • web_fontbooleanobligatoire
  • clientsarrayobligatoire
  • Chaque élémentobject
  • clientstringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • fontstringobligatoire

    Imbrications supplémentaires omises

  • web_fontbooleanobligatoire

    Imbrications supplémentaires omises

  • fallbackbooleanobligatoire

    Imbrications supplémentaires omises

  • bodyobjectobligatoire
  • stackstringobligatoire
  • fontstringobligatoire
  • web_fontbooleanobligatoire
  • clientsarrayobligatoire
  • Chaque élémentobject
  • clientstringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • fontstringobligatoire

    Imbrications supplémentaires omises

  • web_fontbooleanobligatoire

    Imbrications supplémentaires omises

  • fallbackbooleanobligatoire

    Imbrications supplémentaires omises

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/brand' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/brand

updateBrand

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valuenon précisé
  • anyOf 1object
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • anyOf 2object
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • sourcesobjectobligatoire
  • Propriété supplémentairestring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobligatoire
  • missingarrayobligatoire
  • Chaque élémentstring
  • product_kindstringobligatoire

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • discovery_statusstring | null
  • product_idstringobligatoire

    format: "uuid"

  • product_domainstring | nullobligatoire
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Images de logo découvertes sur le site du produit (en-tête, pied de page, logos déclarés), pour remplacement en un clic.

  • Chaque élémentstring
  • mediaobjectobligatoire
  • art_base_urlstringobligatoire
  • hero_image_urlstring
  • email_fontsobjectobligatoire
  • headingobjectobligatoire
  • stackstringobligatoire
  • fontstringobligatoire
  • web_fontbooleanobligatoire
  • clientsarrayobligatoire
  • Chaque élémentobject
  • clientstringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • fontstringobligatoire

    Imbrications supplémentaires omises

  • web_fontbooleanobligatoire

    Imbrications supplémentaires omises

  • fallbackbooleanobligatoire

    Imbrications supplémentaires omises

  • bodyobjectobligatoire
  • stackstringobligatoire
  • fontstringobligatoire
  • web_fontbooleanobligatoire
  • clientsarrayobligatoire
  • Chaque élémentobject
  • clientstringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • fontstringobligatoire

    Imbrications supplémentaires omises

  • web_fontbooleanobligatoire

    Imbrications supplémentaires omises

  • fallbackbooleanobligatoire

    Imbrications supplémentaires omises

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/brand' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "company_name": "example",
  "logo_url": "example",
  "wordmark_url": "example",
  "website_url": "example",
  "primary_color": "example",
  "accent_color": "example",
  "background_color": "example",
  "surface_color": "example",
  "text_color": "example",
  "muted_text_color": "example",
  "heading_font_family": "example",
  "body_font_family": "example",
  "tone": "example",
  "footer_address": "example",
  "email_style": "example"
}'
PATCH/v1/workspaces/{workspaceId}/brand/patch

patchProductBrandFooter

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • brandobjectobligatoire

    Aucune propriété supplémentaire

  • company_namestring

    minLength: 0 · maxLength: 2000

  • logo_urlstring

    minLength: 0 · maxLength: 2000

  • wordmark_urlstring

    minLength: 0 · maxLength: 2000

  • website_urlstring

    minLength: 0 · maxLength: 2000

  • primary_colorstring

    minLength: 0 · maxLength: 2000

  • accent_colorstring

    minLength: 0 · maxLength: 2000

  • background_colorstring

    minLength: 0 · maxLength: 2000

  • surface_colorstring

    minLength: 0 · maxLength: 2000

  • text_colorstring

    minLength: 0 · maxLength: 2000

  • muted_text_colorstring

    minLength: 0 · maxLength: 2000

  • heading_font_familystring

    minLength: 0 · maxLength: 2000

  • body_font_familystring

    minLength: 0 · maxLength: 2000

  • tonestring

    minLength: 0 · maxLength: 2000

  • footer_addressstring

    minLength: 0 · maxLength: 2000

Réponse réussie 200

Relecture canonique ou reçu idempotent. L’acceptation fournisseur correspond à sent ; delivered nécessite un événement de livraison et ne prouve pas l’arrivée en boîte de réception.

application/json

  • valueobject
  • dataobjectobligatoire
  • brandobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • sourcesobjectobligatoire
  • Propriété supplémentairestring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobligatoire
  • missingarrayobligatoire
  • Chaque élémentstring
  • product_kindstring

    enum: "product", "store", "brand", "newsletter", "company", "other"

  • discovery_statusstring | null
  • product_idstringobligatoire

    format: "uuid"

  • product_domainstring | null
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • hero_image_urlstring | null
  • replayedbooleanobligatoire

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/brand/patch' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "brand": {
    "company_name": "example",
    "logo_url": "example",
    "wordmark_url": "example",
    "website_url": "example",
    "primary_color": "example",
    "accent_color": "example",
    "background_color": "example",
    "surface_color": "example",
    "text_color": "example",
    "muted_text_color": "example",
    "heading_font_family": "example",
    "body_font_family": "example",
    "tone": "example",
    "footer_address": "example"
  }
}'

Modifications

GET/v1/workspaces/{workspaceId}/changes

listChanges

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

after_revision
query · obligatoire
  • valueinteger

    format: "int64" · minimum: 0

limit
query
  • valueinteger

    minimum: 1 · maximum: 500 · default: 200

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Invalidations ordonnées après une révision client.

application/json

  • valueobject
  • dataobjectobligatoire
  • current_revisionintegerobligatoire

    format: "int64"

  • changesarrayobligatoire
  • Chaque élémentobject
  • revisionintegerobligatoire

    format: "int64"

  • topicsarrayobligatoire
  • Chaque élémentstring

    enum: "mailboxes", "threads", "messages", "work", "drafts", "contacts", "campaigns", "deliverability"

  • mailbox_idsarray
  • Chaque élémentstring

    format: "uuid"

  • created_atstringobligatoire

    format: "date-time"

  • has_morebooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/changes?after_revision=0&limit=200' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Commandes

POST/v1/workspaces/{workspaceId}/commands

createCommand

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject
  • typestringobligatoire

    enum: "mark_read", "mark_unread", "archive", "unarchive", "trash", "restore", "spam", "not_spam", "star", "unstar", "add_label", "remove_label", "move", "assign", "set_work_status"

  • targetobjectobligatoire
  • thread_idstringobligatoire

    format: "uuid"

  • parametersobject
  • Propriété supplémentaireToute valeur

Réponse réussie 202

Commande validée et en file pour exécution fournisseur.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • typestringobligatoire
  • statusstringobligatoire

    enum: "accepted", "executing", "succeeded", "failed"

  • workspace_revisionintegerobligatoire

    format: "int64"

  • created_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/commands' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "type": "mark_read",
  "target": {
    "thread_id": "00000000-0000-4000-8000-000000000001"
  },
  "parameters": {}
}'
GET/v1/workspaces/{workspaceId}/commands/{commandId}

getCommand

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

commandId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État durable de la commande fournisseur.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • typestringobligatoire
  • statusstringobligatoire

    enum: "accepted", "executing", "succeeded", "failed"

  • workspace_revisionintegerobligatoire

    format: "int64"

  • created_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/commands/{commandId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Politique de communication

GET/v1/workspaces/{workspaceId}/communication-policy

Lisez la politique de conflits destinataires, de fréquence et de fenêtres de livraison du produit.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Politique de communication versionnée.

application/json

  • valueobject
  • dataobjectobligatoire
  • versionintegerobligatoire
  • policyobjectobligatoire

    Aucune propriété supplémentaire

  • conflictstringobligatoire

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • countintegerobligatoire

    minimum: 1

  • windowSecondsintegerobligatoire

    minimum: 1 · maximum: 2592000

  • windowobject

    Aucune propriété supplémentaire

  • startstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatoire
  • weekdaysarray

    maxItems: 7

  • Chaque élémentinteger

    minimum: 0 · maximum: 6

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/communication-policy' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
PUT/v1/workspaces/{workspaceId}/communication-policy

Enregistrez la politique de communication du produit avec contrôle optimiste de version.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • expected_versionintegerobligatoire

    minimum: 1

  • policyobjectobligatoire

    Aucune propriété supplémentaire

  • conflictstringobligatoire

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • countintegerobligatoire

    minimum: 1

  • windowSecondsintegerobligatoire

    minimum: 1 · maximum: 2592000

  • windowobject

    Aucune propriété supplémentaire

  • startstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatoire
  • weekdaysarray

    maxItems: 7

  • Chaque élémentinteger

    minimum: 0 · maximum: 6

Réponse réussie 200

Politique versionnée mise à jour.

application/json

  • valueobject
  • dataobjectobligatoire
  • versionintegerobligatoire
  • policyobjectobligatoire

    Aucune propriété supplémentaire

  • conflictstringobligatoire

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • countintegerobligatoire

    minimum: 1

  • windowSecondsintegerobligatoire

    minimum: 1 · maximum: 2592000

  • windowobject

    Aucune propriété supplémentaire

  • startstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatoire
  • weekdaysarray

    maxItems: 7

  • Chaque élémentinteger

    minimum: 0 · maximum: 6

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/communication-policy' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "expected_version": 1,
  "policy": {
    "conflict": "defer",
    "minimumIntervalSeconds": 0,
    "caps": [
      {
        "count": 1,
        "windowSeconds": 1
      }
    ],
    "window": {
      "start": "example",
      "end": "example",
      "timeZone": "example",
      "weekdays": [
        0
      ]
    }
  }
}'
POST/v1/workspaces/{workspaceId}/communication-policy/simulate

Simulation de politique en lecture seule pour des requêtes d’envoi fixes à un destinataire.

Ne modifie pas les réservations ni ne déplace les étapes dépendantes du Parcours.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • policyobject

    Aucune propriété supplémentaire

  • conflictstringobligatoire

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • countintegerobligatoire

    minimum: 1

  • windowSecondsintegerobligatoire

    minimum: 1 · maximum: 2592000

  • windowobject

    Aucune propriété supplémentaire

  • startstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatoire
  • weekdaysarray

    maxItems: 7

  • Chaque élémentinteger

    minimum: 0 · maximum: 6

  • historyarray

    maxItems: 10000

  • Chaque élémentstring

    format: "date-time"

  • requestsarrayobligatoire

    maxItems: 1000

  • Chaque élémentobject
  • idstringobligatoire
  • atstringobligatoire

    format: "date-time"

  • categorystringobligatoire

    enum: "urgent", "product", "promotional"

  • source_kindstringobligatoire

    enum: "journey", "broadcast"

  • expiresAtstring

    format: "date-time"

  • deliveryBlockedboolean

Réponse réussie 200

Chronologie des décisions d’envoi, de report ou d’abandon par requête, avec motifs.

application/json

  • valueobject
  • dataobjectobligatoire
  • policyobjectobligatoire

    Aucune propriété supplémentaire

  • conflictstringobligatoire

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • countintegerobligatoire

    minimum: 1

  • windowSecondsintegerobligatoire

    minimum: 1 · maximum: 2592000

  • windowobject

    Aucune propriété supplémentaire

  • startstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatoire

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatoire
  • weekdaysarray

    maxItems: 7

  • Chaque élémentinteger

    minimum: 0 · maximum: 6

  • policy_versioninteger | nullobligatoire
  • timelinearrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • source_kindstringobligatoire

    enum: "journey", "broadcast"

  • requested_atstringobligatoire

    format: "date-time"

  • actionstringobligatoire

    enum: "send", "defer", "discard"

  • atstringobligatoire

    format: "date-time"

  • reasonstringobligatoire
  • scopestringobligatoire

    enum: "one_recipient_fixed_send_requests"

  • warningsarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/communication-policy/simulate' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "policy": {
    "conflict": "defer",
    "minimumIntervalSeconds": 0,
    "caps": [
      {
        "count": 1,
        "windowSeconds": 1
      }
    ],
    "window": {
      "start": "example",
      "end": "example",
      "timeZone": "example",
      "weekdays": [
        0
      ]
    }
  },
  "history": [
    "2026-01-01T00:00:00Z"
  ],
  "requests": [
    {
      "id": "example",
      "at": "2026-01-01T00:00:00Z",
      "category": "urgent",
      "source_kind": "journey",
      "expiresAt": "2026-01-01T00:00:00Z",
      "deliveryBlocked": true
    }
  ]
}'

Paramètres du contenu

GET/v1/workspaces/{workspaceId}/content-settings

Lisez les paramètres de locale, repli, fuseau horaire, glossaire et validation du produit.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Paramètres actuels du contenu.

application/json

  • valueobject
  • dataobjectobligatoire
  • source_localestringobligatoire
  • configured_localesarrayobligatoire
  • Chaque élémentstring
  • fallback_chainarrayobligatoire
  • Chaque élémentstring
  • timezonestringobligatoire
  • glossaryobjectobligatoire
  • Propriété supplémentairestring
  • manual_translation_reviewbooleanobligatoire
  • versionintegerobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/content-settings' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
PUT/v1/workspaces/{workspaceId}/content-settings

Enregistrez les paramètres du contenu du produit avec contrôle optimiste de version.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • source_localestringobligatoire
  • configured_localesarrayobligatoire
  • Chaque élémentstring
  • fallback_chainarrayobligatoire
  • Chaque élémentstring
  • timezonestringobligatoire
  • glossaryobjectobligatoire
  • Propriété supplémentairestring
  • manual_translation_reviewbooleanobligatoire
  • expected_versionintegerobligatoire

    minimum: 0

Réponse réussie 200

Paramètres du contenu enregistrés.

application/json

  • valueobject
  • dataobjectobligatoire
  • source_localestringobligatoire
  • configured_localesarrayobligatoire
  • Chaque élémentstring
  • fallback_chainarrayobligatoire
  • Chaque élémentstring
  • timezonestringobligatoire
  • glossaryobjectobligatoire
  • Propriété supplémentairestring
  • manual_translation_reviewbooleanobligatoire
  • versionintegerobligatoire

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/content-settings' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "source_locale": "example",
  "configured_locales": [
    "example"
  ],
  "fallback_chain": [
    "example"
  ],
  "timezone": "example",
  "glossary": {},
  "manual_translation_review": true,
  "expected_version": 0
}'

Délivrabilité

GET/v1/workspaces/{workspaceId}/deliverability

getDeliverabilitySummary

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • counting_basisstring

    enum: "recipients", "events"

  • simulator_eventsinteger
  • sincestringobligatoire

    format: "date-time"

  • generated_atstringobligatoire

    format: "date-time"

  • totalsobjectobligatoire
  • sent_countinteger

    format: "int64"

  • delivered_countinteger

    format: "int64"

  • deferred_countinteger

    format: "int64"

  • bounced_countinteger

    format: "int64"

  • complained_countinteger

    format: "int64"

  • opened_countinteger

    format: "int64"

  • clicked_countinteger

    format: "int64"

  • unsubscribed_countinteger

    format: "int64"

  • failed_countinteger

    format: "int64"

  • suppressed_countinteger

    format: "int64"

  • last_event_atstring | null

    format: "date-time"

  • Propriété supplémentaireToute valeur
  • time_seriesarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object
  • sent_countinteger

    format: "int64"

  • delivered_countinteger

    format: "int64"

  • deferred_countinteger

    format: "int64"

  • bounced_countinteger

    format: "int64"

  • complained_countinteger

    format: "int64"

  • opened_countinteger

    format: "int64"

  • clicked_countinteger

    format: "int64"

  • unsubscribed_countinteger

    format: "int64"

  • failed_countinteger

    format: "int64"

  • suppressed_countinteger

    format: "int64"

  • last_event_atstring | null

    format: "date-time"

  • Propriété supplémentaireToute valeur
  • allOf 2object
  • bucketstringobligatoire

    format: "date"

  • providersarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object
  • sent_countinteger

    format: "int64"

  • delivered_countinteger

    format: "int64"

  • deferred_countinteger

    format: "int64"

  • bounced_countinteger

    format: "int64"

  • complained_countinteger

    format: "int64"

  • opened_countinteger

    format: "int64"

  • clicked_countinteger

    format: "int64"

  • unsubscribed_countinteger

    format: "int64"

  • failed_countinteger

    format: "int64"

  • suppressed_countinteger

    format: "int64"

  • last_event_atstring | null

    format: "date-time"

  • Propriété supplémentaireToute valeur
  • allOf 2object
  • provider_connection_idstring | null

    format: "uuid"

  • providerstringobligatoire
  • display_namestringobligatoire
  • ownershipstringobligatoire
  • statusstringobligatoire
  • recipient_domainsarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object
  • sent_countinteger

    format: "int64"

  • delivered_countinteger

    format: "int64"

  • deferred_countinteger

    format: "int64"

  • bounced_countinteger

    format: "int64"

  • complained_countinteger

    format: "int64"

  • opened_countinteger

    format: "int64"

  • clicked_countinteger

    format: "int64"

  • unsubscribed_countinteger

    format: "int64"

  • failed_countinteger

    format: "int64"

  • suppressed_countinteger

    format: "int64"

  • last_event_atstring | null

    format: "date-time"

  • Propriété supplémentaireToute valeur
  • allOf 2object
  • recipient_domainstringobligatoire
  • sending_streamsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • domainstringobligatoire
  • stream_kindstringobligatoire
  • display_namestringobligatoire
  • statusstringobligatoire
  • status_reasonstring | null
  • provider_statusstring | null
  • required_recordsintegerobligatoire

    format: "int64"

  • verified_recordsintegerobligatoire

    format: "int64"

  • pending_recordsintegerobligatoire

    format: "int64"

  • error_recordsintegerobligatoire

    format: "int64"

  • last_checked_atstring | null

    format: "date-time"

  • feedback_pipelineobjectobligatoire

    Aucune propriété supplémentaire

  • statusstringobligatoire

    enum: "healthy", "degraded", "unproven"

  • eligible_attemptsintegerobligatoire

    format: "int64"

  • unmatched_attemptsintegerobligatoire

    format: "int64"

  • last_receipt_atstring | null

    format: "date-time"

  • issuesarrayobligatoire
  • Chaque élémentobject
  • severitystringobligatoire

    enum: "warning", "critical"

  • codestringobligatoire
  • titlestringobligatoire
  • detailstringobligatoire
  • resource_kindstringobligatoire
  • resource_idstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/deliverability?since=2026-01-01T00%3A00%3A00Z' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/deliverability/resolutions

listDeliverabilityResolutions

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • reasonstringobligatoire

    enum: "complaint", "hard_bounce"

  • countintegerobligatoire
  • domainsarrayobligatoire
  • Chaque élémentstring
  • statusstringobligatoire
  • decidedAtstring | null

    format: "date-time"

  • titlestringobligatoire
  • explanationstringobligatoire
  • impactstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/deliverability/resolutions?since=2026-01-01T00%3A00%3A00Z' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/deliverability/resolutions

decideDeliverabilityResolution

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Corps de la requête obligatoire

application/json

  • valueobject
  • idstringobligatoire

    minLength: 64 · maxLength: 64

  • decisionstringobligatoire

    enum: "approved", "rejected"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • statusstringobligatoire

    enum: "approved", "rejected"

  • approvalIdstringobligatoire

    format: "uuid"

  • replayedboolean
  • countinteger

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/deliverability/resolutions?since=2026-01-01T00%3A00%3A00Z' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "id": "examplexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "decision": "approved"
}'

Documents

GET/v1/workspaces/{workspaceId}/documents

listDocuments

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

mailbox_id
query
  • valuestring

    format: "uuid"

q
query
  • valuestring

    maxLength: 512

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • message_idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • content_typestringobligatoire
  • size_bytesintegerobligatoire
  • sent_atstringobligatoire

    format: "date-time"

  • subjectstringobligatoire
  • pageobjectobligatoire
  • next_cursorstring
  • has_morebooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/documents?cursor=example&limit=50&mailbox_id=00000000-0000-4000-8000-000000000001&q=example' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Aperçu de l’e-mail

GET/v1/workspaces/{workspaceId}/email-preview

Afficher les e-mails enregistrés pour itération visuelle sans envoi

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

kind
query · obligatoire
  • valuestring

    enum: "template", "broadcast", "journey"

id
query · obligatoire
  • valuestring

    format: "uuid"

locale
query

Locale BCP 47 facultative pour l’aperçu d’une Campagne gérée.

  • valuestring

    maxLength: 64

variant
query

Clé facultative de variante d’expérience de Campagne gérée.

  • valuestring

    maxLength: 40

x-banger-product-id
header · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Contenu d’e-mail et séquence de Parcours enregistrés

application/json

  • valueobject
  • dataobjectobligatoire
  • resource_kindstringobligatoire

    enum: "template", "broadcast", "journey"

  • resource_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire
  • selected_email_keystring
  • itemsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire
  • step_idstring

    Étape du Parcours montrée par cet élément, comme steps[].id dans le Parcours enregistré.

    format: "uuid"

  • kindstringobligatoire
  • namestringobligatoire
  • subjectstring
  • preview_textstring
  • body_htmlstring
  • body_textstring
  • detailstring
  • revision_idstring

    Révision source exacte de Campagne gérée rendue.

    format: "uuid"

  • revision_statusstring

    Indique si la révision rendue est un contenu enregistré non publié ou publié.

    enum: "draft", "published"

  • sample_valuesbooleanobligatoire
  • image_assetsobject
  • Propriété supplémentairestring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/email-preview?kind=template&id=00000000-0000-4000-8000-000000000001&locale=example&variant=example' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001'

Événements

POST/v1/workspaces/{workspaceId}/events

Envoyez un événement personnalisé aux Parcours du produit.

Nécessite automation:execute. L’événement arrive sur le webhook entrant implicite "Banger API events" du produit, créé au premier événement et listé avec les autres webhooks pour que les Parcours puissent nommer son connection_id, ou sur connection_id, un autre webhook entrant actif du même produit. Il est ensuite traité exactement comme un événement envoyé à l’URL de ce webhook : les Parcours actifs dont le déclencheur nomme le type d’événement et la connexion inscrivent la personne à email (ou leur audience configurée), et les Parcours dont l’objectif le nomme arrêtent ses exécutions. Les événements peuvent démarrer des Parcours déjà approuvés qui envoient des e-mails. L’ID d’événement rend l’appel idempotent : le répéter avec le même corps renvoie duplicate true ; le réutiliser avec un autre corps renvoie 409 webhook_event_id_reused.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

x-banger-product-id
header

Requis dans un espace de travail ayant plusieurs produits actifs, sauf si la clé API lie déjà le produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header

ID de l’événement lorsque le corps n’a pas de id. L’un des deux est requis.

  • valuestring

    minLength: 1 · maxLength: 500

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • typestringobligatoire

    Nom d’événement auquel correspondent les déclencheurs et objectifs du Parcours, comme signup.

    pattern: "^[A-Za-z0-9_.:-]{1,120}$"

  • idnon précisé

    Identifiant stable de l’événement dans le système appelant. Sans lui, l’en-tête Idempotency-Key est le id.

  • oneOf 1string

    minLength: 1 · maxLength: 500

  • oneOf 2number
  • emailstring

    Personne concernée par l’événement.

    format: "email" · maxLength: 320

  • namestring

    Nom affiché de la personne.

    maxLength: 200

  • occurred_atstring

    Date de l’événement. Par défaut, date de réception par Banger.

    format: "date-time"

  • attributesobject

    Valeurs lisibles par les conditions du Parcours et le contenu d’e-mail. Les valeurs textuelles ont au plus 500 caractères.

  • Propriété supplémentairenon précisé
  • oneOf 1string

    maxLength: 500

  • oneOf 2number
  • oneOf 3boolean
  • connection_idstring

    Connexion webhook entrante active du même produit. Par défaut, le webhook Banger API events.

    format: "uuid"

Réponse réussie 202

Événement accepté ou déjà accepté sous ce id.

application/json

  • valueobject
  • dataobjectobligatoire
  • acceptedbooleanobligatoire

    const: true

  • duplicatebooleanobligatoire

    True si ce id a déjà été accepté ; rien n’a été réexécuté.

  • connection_idstringobligatoire

    Connexion sur laquelle l’événement est arrivé.

    format: "uuid"

  • sequence_enrollments_createdintegerobligatoire

    minimum: 0

  • sequence_enrollments_stoppedintegerobligatoire

    Exécutions arrêtées par un objectif de Parcours.

    minimum: 0

  • sequence_matches_ignoredintegerobligatoire

    Parcours correspondants n’ayant pas pu utiliser l’événement, par exemple un parcours inscrivant une personne alors que l’événement ne nomme aucun e-mail.

    minimum: 0

  • sequence_goals_predating_enrollmentintegerobligatoire

    Objectifs survenus avant le début de l’exécution qu’ils auraient arrêtée.

    minimum: 0

  • sequence_enrollments_rejectedarray

    Parcours n’ayant pas inscrit cette personne car les données de l’événement ne peuvent pas remplir leurs e-mails.

  • Chaque élémentobject
  • journey_idstringobligatoire

    format: "uuid"

  • journey_namestringobligatoire
  • fieldsarrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Champ de contact nécessaire à l’e-mail.

    Imbrications supplémentaires omises

  • problemstringobligatoire

    enum: "missing", "not_https"

    Imbrications supplémentaires omises

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/events' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "type": "example",
  "id": "example",
  "email": "person@example.com",
  "name": "example",
  "occurred_at": "2026-01-01T00:00:00Z",
  "attributes": {},
  "connection_id": "00000000-0000-4000-8000-000000000001"
}'

Expériences

GET/v1/workspaces/{workspaceId}/experiments

listExperiments

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatoire

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatoire

    minLength: 1 · maxLength: 200

  • dimensionstringobligatoire

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatoire

    minItems: 2 · maxItems: 4

  • Chaque élémentobject
  • keystring

    pattern: "^[a-z0-9][a-z0-9_-]{0,39}$"

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Chaque élémentinteger

    minimum: 1 · maximum: 100

  • sample_percentinteger

    minimum: 5 · maximum: 100 · default: 100

  • primary_metricstring

    default: "human_click" · enum: "human_open", "human_click", "reply", "conversion"

  • min_sample_per_arminteger

    minimum: 10 · maximum: 100000 · default: 100

  • decisionobject
  • modestring

    enum: "manual", "auto"

  • after_hoursinteger

    minimum: 1 · maximum: 336

  • confidencenumber

    minimum: 0.8 · maximum: 0.99

  • guardrailsobject
  • max_complaint_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • max_unsubscribe_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatoire

    enum: "running", "decided", "stopped"

  • winner_keystring | null
  • decided_bystring | null
  • decision_basisstring | null

    enum: "confident", "deadline", "guardrail", "manual", null

  • decision_confidencenumber | null
  • decision_reasonstring | null
  • started_atstring

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/experiments' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/experiments

createExperiment

Démarrez un test A/B sur une Campagne, une étape de parcours ou une règle d’automatisation.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Le payload de variante doit correspondre à dimension : subject, template_id (design), content ou from_name. Les clés doivent être uniques et ne peuvent pas être holdback. Allocation doit contenir un pourcentage par variante et totaliser 100 ; si omise, répartition égale.

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatoire

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatoire

    minLength: 1 · maxLength: 200

  • dimensionstringobligatoire

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatoire

    minItems: 2 · maxItems: 4

  • Chaque élémentobject
  • keystring

    pattern: "^[a-z0-9][a-z0-9_-]{0,39}$"

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propriété supplémentairestring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Chaque élémentinteger

    minimum: 1 · maximum: 100

  • sample_percentinteger

    minimum: 5 · maximum: 100 · default: 100

  • primary_metricstring

    default: "human_click" · enum: "human_open", "human_click", "reply", "conversion"

  • min_sample_per_arminteger

    minimum: 10 · maximum: 100000 · default: 100

  • decisionobject
  • modestring

    enum: "manual", "auto"

  • after_hoursinteger

    minimum: 1 · maximum: 336

  • confidencenumber

    minimum: 0.8 · maximum: 0.99

  • guardrailsobject
  • max_complaint_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • max_unsubscribe_ratenumber

    maximum: 1 · exclusiveMinimum: 0

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatoire

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatoire

    minLength: 1 · maxLength: 200

  • dimensionstringobligatoire

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatoire

    minItems: 2 · maxItems: 4

  • Chaque élémentobject
  • keystring

    pattern: "^[a-z0-9][a-z0-9_-]{0,39}$"

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propriété supplémentairestring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Chaque élémentinteger

    minimum: 1 · maximum: 100

  • sample_percentinteger

    minimum: 5 · maximum: 100 · default: 100

  • primary_metricstring

    default: "human_click" · enum: "human_open", "human_click", "reply", "conversion"

  • min_sample_per_arminteger

    minimum: 10 · maximum: 100000 · default: 100

  • decisionobject
  • modestring

    enum: "manual", "auto"

  • after_hoursinteger

    minimum: 1 · maximum: 336

  • confidencenumber

    minimum: 0.8 · maximum: 0.99

  • guardrailsobject
  • max_complaint_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • max_unsubscribe_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatoire

    enum: "running", "decided", "stopped"

  • winner_keystring | null
  • decided_bystring | null
  • decision_basisstring | null

    enum: "confident", "deadline", "guardrail", "manual", null

  • decision_confidencenumber | null
  • decision_reasonstring | null
  • started_atstring

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/experiments' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "subject_kind": "campaign",
  "subject_id": "example",
  "dimension": "subject",
  "variants": [
    {
      "key": "example",
      "label": "example",
      "subject": "example",
      "template_id": "00000000-0000-4000-8000-000000000001",
      "content": {},
      "from_name": "example"
    }
  ],
  "allocation": [
    1
  ],
  "sample_percent": 100,
  "primary_metric": "human_click",
  "min_sample_per_arm": 100,
  "decision": {
    "mode": "manual",
    "after_hours": 1,
    "confidence": 0.8
  },
  "guardrails": {
    "max_complaint_rate": 1,
    "max_unsubscribe_rate": 1
  }
}'
GET/v1/workspaces/{workspaceId}/experiments/{experimentId}

getExperiment

Expérience avec résultats par variante et gagnant suggéré.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

experimentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatoire

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatoire

    minLength: 1 · maxLength: 200

  • dimensionstringobligatoire

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatoire

    minItems: 2 · maxItems: 4

  • Chaque élémentobject
  • keystring

    pattern: "^[a-z0-9][a-z0-9_-]{0,39}$"

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Chaque élémentinteger

    minimum: 1 · maximum: 100

  • sample_percentinteger

    minimum: 5 · maximum: 100 · default: 100

  • primary_metricstring

    default: "human_click" · enum: "human_open", "human_click", "reply", "conversion"

  • min_sample_per_arminteger

    minimum: 10 · maximum: 100000 · default: 100

  • decisionobject
  • modestring

    enum: "manual", "auto"

  • after_hoursinteger

    minimum: 1 · maximum: 336

  • confidencenumber

    minimum: 0.8 · maximum: 0.99

  • guardrailsobject
  • max_complaint_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • max_unsubscribe_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatoire

    enum: "running", "decided", "stopped"

  • winner_keystring | null
  • decided_bystring | null
  • decision_basisstring | null

    enum: "confident", "deadline", "guardrail", "manual", null

  • decision_confidencenumber | null
  • decision_reasonstring | null
  • started_atstring

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • allOf 2object
  • resultsarrayobligatoire
  • Chaque élémentobject
  • keystring
  • labelstring
  • sendsinteger
  • deliveredinteger
  • human_opensinteger
  • human_clicksinteger
  • repliesinteger
  • conversionsinteger
  • unsubscribesinteger
  • complaintsinteger
  • ratenumber
  • lift_vs_firstnumber | null
  • confidence_vs_firstnumber | null
  • sample_okboolean
  • guardrail_trippedboolean
  • suggested_winnerobject
  • keystringobligatoire
  • reasonstringobligatoire
  • basisstringobligatoire

    enum: "confident", "deadline", "guardrail"

  • confidencenumber | nullobligatoire
  • sample_okbooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/experiments/{experimentId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/experiments/{experimentId}/decide

decideExperiment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

experimentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • winner_keystringobligatoire

    minLength: 1 · maxLength: 40

  • reasonstring

    maxLength: 500

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatoire

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatoire

    minLength: 1 · maxLength: 200

  • dimensionstringobligatoire

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatoire

    minItems: 2 · maxItems: 4

  • Chaque élémentobject
  • keystring

    pattern: "^[a-z0-9][a-z0-9_-]{0,39}$"

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propriété supplémentairestring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Chaque élémentinteger

    minimum: 1 · maximum: 100

  • sample_percentinteger

    minimum: 5 · maximum: 100 · default: 100

  • primary_metricstring

    default: "human_click" · enum: "human_open", "human_click", "reply", "conversion"

  • min_sample_per_arminteger

    minimum: 10 · maximum: 100000 · default: 100

  • decisionobject
  • modestring

    enum: "manual", "auto"

  • after_hoursinteger

    minimum: 1 · maximum: 336

  • confidencenumber

    minimum: 0.8 · maximum: 0.99

  • guardrailsobject
  • max_complaint_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • max_unsubscribe_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatoire

    enum: "running", "decided", "stopped"

  • winner_keystring | null
  • decided_bystring | null
  • decision_basisstring | null

    enum: "confident", "deadline", "guardrail", "manual", null

  • decision_confidencenumber | null
  • decision_reasonstring | null
  • started_atstring

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/experiments/{experimentId}/decide' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "winner_key": "example",
  "reason": "example"
}'
POST/v1/workspaces/{workspaceId}/experiments/{experimentId}/stop

stopExperiment

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

experimentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatoire

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatoire

    minLength: 1 · maxLength: 200

  • dimensionstringobligatoire

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatoire

    minItems: 2 · maxItems: 4

  • Chaque élémentobject
  • keystring

    pattern: "^[a-z0-9][a-z0-9_-]{0,39}$"

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propriété supplémentairestring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Chaque élémentinteger

    minimum: 1 · maximum: 100

  • sample_percentinteger

    minimum: 5 · maximum: 100 · default: 100

  • primary_metricstring

    default: "human_click" · enum: "human_open", "human_click", "reply", "conversion"

  • min_sample_per_arminteger

    minimum: 10 · maximum: 100000 · default: 100

  • decisionobject
  • modestring

    enum: "manual", "auto"

  • after_hoursinteger

    minimum: 1 · maximum: 336

  • confidencenumber

    minimum: 0.8 · maximum: 0.99

  • guardrailsobject
  • max_complaint_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • max_unsubscribe_ratenumber

    maximum: 1 · exclusiveMinimum: 0

  • idstringobligatoire

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatoire

    enum: "running", "decided", "stopped"

  • winner_keystring | null
  • decided_bystring | null
  • decision_basisstring | null

    enum: "confident", "deadline", "guardrail", "manual", null

  • decision_confidencenumber | null
  • decision_reasonstring | null
  • started_atstring

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/experiments/{experimentId}/stop' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Retours

GET/v1/workspaces/{workspaceId}/feedback

Vérifier la disponibilité de l’envoi de retours clients

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Disponibilité des retours pour l’espace de travail authentifié.

application/json

  • valueobject
  • dataobject
  • availablebooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/feedback' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/feedback

Signaler un bug, envoyer un retour ou suggérer une fonctionnalité

Crée un ticket interne Linear et envoie une alerte d’équipe Slack. Réessayez une soumission interrompue avec le même submission_id.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

x-banger-product-id
header
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "bug", "feedback", "feature"

  • titlestringobligatoire

    minLength: 1 · maxLength: 160

  • descriptionstringobligatoire

    minLength: 1 · maxLength: 10000

  • submission_idstringobligatoire

    format: "uuid"

  • attachment_idsarray

    Téléversements privés terminés appartenant à ce rapporteur et à cet espace de travail. Les téléversements non soumis expirent après 24 heures ; chaque fichier ne peut appartenir qu’à un rapport.

    maxItems: 5 · uniqueItems: true

  • Chaque élémentstring

    format: "uuid"

Réponse réussie 201

Ticket Linear et alerte Slack terminés, y compris une répétition idempotente.

application/json

  • valueobject
  • dataobject
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "submitted"

  • linearIssueIdentifierstring | null
  • linearIssueUrlstring | null

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/feedback' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "kind": "bug",
  "title": "example",
  "description": "example",
  "submission_id": "00000000-0000-4000-8000-000000000001",
  "attachment_ids": [
    "00000000-0000-4000-8000-000000000001"
  ]
}'
POST/v1/workspaces/{workspaceId}/feedback/attachments

Téléverser une capture d’écran ou une vidéo dans le stockage privé Linear

Les téléversements binaires acceptent jusqu’à 25 MiB. Les téléversements JSON base64 acceptent jusqu’à 2 MiB. Réutilisez attachment_id pour réessayer le même fichier. Nécessite automation:execute pour les clés API.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

attachment_id
query

Requis pour les téléversements binaires ; UUID par fichier.

  • valuestring

    format: "uuid"

x-banger-filename
header

Nom de fichier encodé URI, requis pour les téléversements binaires.

  • valuestring

Corps de la requête obligatoire

image/png

  • valuestring

    format: "binary"

image/jpeg

  • valuestring

    format: "binary"

image/gif

  • valuestring

    format: "binary"

image/webp

  • valuestring

    format: "binary"

video/mp4

  • valuestring

    format: "binary"

video/webm

  • valuestring

    format: "binary"

video/quicktime

  • valuestring

    format: "binary"

application/json

  • valueobject
  • attachment_idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire

    minLength: 1 · maxLength: 200

  • mime_typestringobligatoire

    enum: "image/png", "image/jpeg", "image/gif", "image/webp", "video/mp4", "video/webm", "video/quicktime"

  • base64stringobligatoire

    minLength: 4 · maxLength: 2796204

Réponse réussie 200

Pièce jointe terminée existante.

application/json

  • valueobject
  • dataobjectobligatoire
  • attachment_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "ready"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/feedback/attachments?attachment_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'x-banger-filename: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "attachment_id": "00000000-0000-4000-8000-000000000001",
  "filename": "example",
  "mime_type": "image/png",
  "base64": "example"
}'
POST/v1/workspaces/{workspaceId}/feedback/attachments/prepare

Préparer un téléversement direct de média par agent ou serveur

Renvoie une URL PUT signée temporaire et les en-têtes de téléversement requis. Envoyez les octets du fichier avec ces en-têtes, sans identifiants Banger, puis terminez le téléversement. Ne téléversez pas directement depuis les navigateurs ; utilisez le proxy binaire authentifié. Jusqu’à 30 téléversements et 250 MiB par rapporteur et par jour.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • attachment_idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire

    minLength: 1 · maxLength: 200

  • mime_typestringobligatoire

    enum: "image/png", "image/jpeg", "image/gif", "image/webp", "video/mp4", "video/webm", "video/quicktime"

  • size_bytesintegerobligatoire

    minimum: 1 · maximum: 26214400

Réponse réussie 201

data contient attachment_id, status et upload avec url signée, method PUT et headers pendant le téléversement. Si ready, aucun téléversement n’est nécessaire.

application/json

  • valueobject
  • dataobjectobligatoire
  • attachment_idstringobligatoire

    format: "uuid"

  • filenamestringobligatoire
  • mime_typestringobligatoire
  • size_bytesintegerobligatoire
  • statusstringobligatoire

    enum: "ready", "uploading"

  • uploadobject
  • urlstringobligatoire
  • methodstringobligatoire

    enum: "PUT"

  • headersobjectobligatoire
  • Propriété supplémentairestring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/feedback/attachments/prepare' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "attachment_id": "00000000-0000-4000-8000-000000000001",
  "filename": "example",
  "mime_type": "image/png",
  "size_bytes": 1
}'
POST/v1/workspaces/{workspaceId}/feedback/attachments/{attachmentId}/complete

Vérifier un téléversement direct de média avant de le joindre à un retour

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

attachmentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

data contient attachment_id et status ready. La finalisation est idempotente.

application/json

  • valueobject
  • dataobjectobligatoire
  • attachment_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "ready"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/feedback/attachments/{attachmentId}/complete' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Accueil

GET/v1/workspaces/{workspaceId}/home

Chargez l’Accueil de configuration ou d’exploitation du produit sélectionné.

L’appartenance, la validité du produit, la projection de configuration, les résumés opérationnels et l’activité récente sont lus dans une seule instruction de base de données isolée par locataire.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Écran d’Accueil du produit sélectionné.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • setupobjectobligatoire

    Aucune propriété supplémentaire

  • stagestringobligatoire

    enum: "domain", "mailboxes", "journeys", "broadcast", "complete"

  • domainobjectobligatoire

    Aucune propriété supplémentaire

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • detailstringobligatoire
  • mailboxesobjectobligatoire

    Aucune propriété supplémentaire

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • detailstringobligatoire
  • journeysobjectobligatoire

    Aucune propriété supplémentaire

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • detailstringobligatoire
  • broadcastobjectobligatoire

    Aucune propriété supplémentaire

  • statusstringobligatoire

    enum: "todo", "in_progress", "complete", "not_relevant"

  • detailstringobligatoire
  • needsYouobjectobligatoire

    Aucune propriété supplémentaire

  • undecidedApprovalsintegerobligatoire

    minimum: 0

  • oldestApprovalsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • summarystringobligatoire
  • actionKindstringobligatoire
  • createdAtstringobligatoire

    format: "date-time"

  • failedSteps24harrayobligatoire
  • Chaque élémentobject
  • journeyIdstringobligatoire

    format: "uuid"

  • journeyNamestringobligatoire
  • countintegerobligatoire

    minimum: 0

  • deliverabilityAlertsarrayobligatoire
  • Chaque élémentobject
  • kindstringobligatoire

    enum: "bounce_rate", "complaint_rate", "dns_drift", "lane_paused"

  • detailstringobligatoire
  • destinationstringobligatoire

    enum: "deliverability", "domains"

  • unreadInboundarrayobligatoire
  • Chaque élémentobject
  • mailboxIdstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • countintegerobligatoire

    minimum: 0

  • splitsReadyToDecidearrayobligatoire
  • Chaque élémentobject
  • journeyIdstringobligatoire

    format: "uuid"

  • journeyNamestringobligatoire
  • unclaimedJourneysintegerobligatoire

    minimum: 0

  • journeysobjectobligatoire

    Aucune propriété supplémentaire

  • activeintegerobligatoire

    minimum: 0

  • entered30dintegerobligatoire

    minimum: 0

  • sent30dintegerobligatoire

    minimum: 0

  • toparrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • mailbox_idstring

    Expéditeur existant. Omettez pour privilégier l’expéditeur de configuration initiale, puis une boîte mail personnalisée active, puis hébergée. Les expéditeurs enregistrés et explicites restent inchangés.

    format: "uuid"

    Imbrications supplémentaires omises

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

    Imbrications supplémentaires omises

  • triggerobjectobligatoire

    Imbrications supplémentaires omises

  • audienceobject

    Imbrications supplémentaires omises

  • goalobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • exitobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • approval_modestring

    enum: "policy", "required"

    Imbrications supplémentaires omises

  • apiobject

    Imbrications supplémentaires omises

  • managed_contentobject

    Raccourci de création uniquement : enregistre atomiquement un brouillon d’e-mail à source gérée et un Parcours dont l’étape e-mail le référence. Les langues cibles manquantes sont mises en file pour traduction gratuite ; cela ne publie ni n’active le Parcours.

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • stepsarrayobligatoire

    maxItems: 100

    Imbrications supplémentaires omises

  • allOf 2object
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "draft", "discovered", "active", "paused", "archived"

    Imbrications supplémentaires omises

  • api_keystring | null

    Imbrications supplémentaires omises

  • content_modestring | null

    enum: "code", "managed", null

    Imbrications supplémentaires omises

  • identitystring | null

    Imbrications supplémentaires omises

  • identity_aliasesarray

    Imbrications supplémentaires omises

  • samplesarray

    Imbrications supplémentaires omises

  • versionintegerobligatoire

    minimum: 1

    Imbrications supplémentaires omises

  • statsobjectobligatoire

    Imbrications supplémentaires omises

  • stepStatsarray

    Imbrications supplémentaires omises

  • armStatsarray

    Imbrications supplémentaires omises

  • healthobjectobligatoire

    Imbrications supplémentaires omises

  • indicatorobjectobligatoire

    Imbrications supplémentaires omises

  • sparklinearrayobligatoire

    Imbrications supplémentaires omises

  • activated_atstring | null

    format: "date-time"

    Imbrications supplémentaires omises

  • updated_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • last_activity_atstring | null

    format: "date-time"

    Imbrications supplémentaires omises

  • broadcastobjectobligatoire

    Aucune propriété supplémentaire

  • nextobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • scheduledAtstringobligatoire

    format: "date-time"

  • recipientsintegerobligatoire

    minimum: 0

  • lastobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • sentAtstringobligatoire

    format: "date-time"

  • deliveredintegerobligatoire

    minimum: 0

  • humanOpenedintegerobligatoire

    minimum: 0

  • repliedintegerobligatoire

    minimum: 0

  • recentLogsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • directionstringobligatoire

    enum: "out", "in"

  • atstringobligatoire

    format: "date-time"

  • mailbox_idstring | nullobligatoire

    Null pour les envois ne passant par aucune boîte mail, comme l’API et SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

    enum: "mailbox", "product", "broadcast"

  • fromstringobligatoire
  • toarrayobligatoire
  • Chaque élémentstring
  • recipient_countintegerobligatoire

    minimum: 0

  • subjectstringobligatoire
  • originobjectobligatoire

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobligatoire

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Motif du refus d’une tentative SMTP par Banger et réponse reçue par le client.

  • refstringobligatoire

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobligatoire

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobligatoire

    Réponse SMTP complète, par exemple `550 5.7.1 ...`.

  • reply_codeintegerobligatoire

    minimum: 400 · maximum: 599

  • enhanced_codestringobligatoire
  • reasonstringobligatoire
  • messagestringobligatoire
  • key_prefixstringobligatoire

    Préfixe public `bgr_` de la clé API utilisée par le client.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobligatoire

    Les connexions échouées sur une clé sont regroupées en une ligne par dix minutes.

    minimum: 1

  • last_atstringobligatoire

    format: "date-time"

  • detailobject
  • Propriété supplémentaireToute valeur
  • volumeobjectobligatoire
  • sentPeriodintegerobligatoire

    minimum: 0

  • limitintegerobligatoire

    minimum: 0

  • deliveredRatenumber

    minimum: 0 · maximum: 1

  • mailboxesintegerobligatoire

    minimum: 0

  • verifiedDomainsintegerobligatoire

    minimum: 0

  • Propriété supplémentaireToute valeur
  • agentobjectobligatoire

    Aucune propriété supplémentaire

  • connectedbooleanobligatoire
  • clientNamestring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/home' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Suggestions de libellés

GET/v1/workspaces/{workspaceId}/label-suggestions

listLabelSuggestions

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailbox_id
query · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • namestringobligatoire
  • emojistringobligatoire
  • colorstringobligatoire
  • descriptionstringobligatoire
  • already_addedbooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/label-suggestions?mailbox_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Libellés

GET/v1/workspaces/{workspaceId}/labels

listLabels

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • colorstring | nullobligatoire
  • kindstringobligatoire
  • emojistring | nullobligatoire
  • descriptionstring | nullobligatoire
  • suggestion_idstring | nullobligatoire
  • sourcestringobligatoire

    enum: "banger", "provider"

  • updated_atstringobligatoire

    format: "date-time"

  • auto_setnon préciséobligatoire
  • anyOf 1object
  • rule_idstringobligatoire

    format: "uuid"

  • enabledbooleanobligatoire
  • descriptionstring | nullobligatoire
  • exact_conditionsobjectobligatoire

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

    Imbrications supplémentaires omises

  • toarray

    maxItems: 50

    Imbrications supplémentaires omises

  • subject_containsarray

    maxItems: 50

    Imbrications supplémentaires omises

  • has_wordsarray

    maxItems: 50

    Imbrications supplémentaires omises

  • excludes_wordsarray

    maxItems: 50

    Imbrications supplémentaires omises

  • has_attachmentboolean

    Imbrications supplémentaires omises

  • anyOf 2null
  • applied_by_rule_countintegerobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/labels?mailbox_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/labels

createLabel

Créez un libellé Banger dans une boîte mail. Passez suggestion_id pour créer un libellé suggéré ; un nom existant renvoie le libellé existant (200). Les libellés Banger ne se synchronisent jamais avec Gmail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header

Clé facultative de nouvelle tentative, appliquée lorsqu’un produit est sélectionné.

  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject
  • mailbox_idstringobligatoire

    format: "uuid"

  • namestring

    maxLength: 120

  • colorstring

    maxLength: 32

  • emojistring

    Un emoji affiché avant le nom.

    maxLength: 16

  • descriptionstring

    maxLength: 2000

  • suggestion_idstring

    maxLength: 64

  • auto_setobject
  • enabledbooleanobligatoire
  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • colorstring | nullobligatoire
  • kindstringobligatoire
  • emojistring | nullobligatoire
  • descriptionstring | nullobligatoire
  • suggestion_idstring | nullobligatoire
  • sourcestringobligatoire

    enum: "banger", "provider"

  • updated_atstringobligatoire

    format: "date-time"

  • auto_setnon préciséobligatoire
  • anyOf 1object
  • rule_idstringobligatoire

    format: "uuid"

  • enabledbooleanobligatoire
  • descriptionstring | nullobligatoire
  • exact_conditionsobjectobligatoire

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • has_attachmentboolean
  • anyOf 2null
  • applied_by_rule_countintegerobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/labels' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "name": "example",
  "color": "example",
  "emoji": "example",
  "description": "example",
  "suggestion_id": "example",
  "auto_set": {
    "enabled": true,
    "description": "example",
    "exact_conditions": {
      "from": [
        "example"
      ],
      "to": [
        "example"
      ],
      "subject_contains": [
        "example"
      ],
      "has_words": [
        "example"
      ],
      "excludes_words": [
        "example"
      ],
      "has_attachment": true
    }
  }
}'
PATCH/v1/workspaces/{workspaceId}/labels/{labelId}

updateLabel

Renommez un libellé Banger, changez sa couleur, son emoji ou sa description, ou activez/désactivez sa règle automatique. Les libellés Gmail et système sont en lecture seule.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

labelId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header

Clé facultative de nouvelle tentative, appliquée lorsqu’un produit est sélectionné.

  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject
  • namestring

    maxLength: 120

  • colorstring | null

    maxLength: 32

  • emojistring | null

    maxLength: 16

  • descriptionstring | null

    maxLength: 2000

  • auto_setobject
  • enabledbooleanobligatoire
  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • colorstring | nullobligatoire
  • kindstringobligatoire
  • emojistring | nullobligatoire
  • descriptionstring | nullobligatoire
  • suggestion_idstring | nullobligatoire
  • sourcestringobligatoire

    enum: "banger", "provider"

  • updated_atstringobligatoire

    format: "date-time"

  • auto_setnon préciséobligatoire
  • anyOf 1object
  • rule_idstringobligatoire

    format: "uuid"

  • enabledbooleanobligatoire
  • descriptionstring | nullobligatoire
  • exact_conditionsobjectobligatoire

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

    Imbrications supplémentaires omises

  • has_attachmentboolean
  • anyOf 2null
  • applied_by_rule_countintegerobligatoire

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/labels/{labelId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "color": "example",
  "emoji": "example",
  "description": "example",
  "auto_set": {
    "enabled": true,
    "description": "example",
    "exact_conditions": {
      "from": [
        "example"
      ],
      "to": [
        "example"
      ],
      "subject_contains": [
        "example"
      ],
      "has_words": [
        "example"
      ],
      "excludes_words": [
        "example"
      ],
      "has_attachment": true
    }
  }
}'
DELETE/v1/workspaces/{workspaceId}/labels/{labelId}

deleteLabel

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

labelId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Libellé supprimé.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/labels/{labelId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Journaux

GET/v1/workspaces/{workspaceId}/logs

listLogs

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

direction
query
  • valuestring

    enum: "all", "out", "in"

origin
query
  • valuestring

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

mailbox_id
query
  • valuestring

    format: "uuid"

status
query
  • valuestring

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

from
query
  • valuestring

    format: "date"

to
query
  • valuestring

    format: "date"

query
query
  • valuestring

    maxLength: 512

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Page par curseur de la chronologie fusionnée des envois et réceptions, avec les tentatives SMTP refusées par Banger en lignes `rejected`. `query` trouve aussi un refus par sa référence `smtp_` ou le préfixe `bgr_` de la clé utilisée.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • directionstringobligatoire

    enum: "out", "in"

  • atstringobligatoire

    format: "date-time"

  • mailbox_idstring | nullobligatoire

    Null pour les envois ne passant par aucune boîte mail, comme l’API et SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

    enum: "mailbox", "product", "broadcast"

  • fromstringobligatoire
  • toarrayobligatoire
  • Chaque élémentstring
  • recipient_countintegerobligatoire

    minimum: 0

  • subjectstringobligatoire
  • originobjectobligatoire

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobligatoire

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Motif du refus d’une tentative SMTP par Banger et réponse reçue par le client.

  • refstringobligatoire

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobligatoire

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobligatoire

    Réponse SMTP complète, par exemple `550 5.7.1 ...`.

  • reply_codeintegerobligatoire

    minimum: 400 · maximum: 599

  • enhanced_codestringobligatoire
  • reasonstringobligatoire
  • messagestringobligatoire
  • key_prefixstringobligatoire

    Préfixe public `bgr_` de la clé API utilisée par le client.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobligatoire

    Les connexions échouées sur une clé sont regroupées en une ligne par dix minutes.

    minimum: 1

  • last_atstringobligatoire

    format: "date-time"

  • detailobject
  • Propriété supplémentaireToute valeur
  • pageobjectobligatoire

    Aucune propriété supplémentaire

  • has_morebooleanobligatoire
  • next_cursorstring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/logs?cursor=example&limit=50&direction=all&origin=journey&mailbox_id=00000000-0000-4000-8000-000000000001&status=queued&from=2026-01-01&to=2026-01-01&query=example' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/logs/{entryId}

getLogEntry

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

entryId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • directionstringobligatoire

    enum: "out", "in"

  • atstringobligatoire

    format: "date-time"

  • mailbox_idstring | nullobligatoire

    Null pour les envois ne passant par aucune boîte mail, comme l’API et SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

    enum: "mailbox", "product", "broadcast"

  • fromstringobligatoire
  • toarrayobligatoire
  • Chaque élémentstring
  • recipient_countintegerobligatoire

    minimum: 0

  • subjectstringobligatoire
  • originobjectobligatoire

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobligatoire

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Motif du refus d’une tentative SMTP par Banger et réponse reçue par le client.

  • refstringobligatoire

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobligatoire

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobligatoire

    Réponse SMTP complète, par exemple `550 5.7.1 ...`.

  • reply_codeintegerobligatoire

    minimum: 400 · maximum: 599

  • enhanced_codestringobligatoire
  • reasonstringobligatoire
  • messagestringobligatoire
  • key_prefixstringobligatoire

    Préfixe public `bgr_` de la clé API utilisée par le client.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobligatoire

    Les connexions échouées sur une clé sont regroupées en une ligne par dix minutes.

    minimum: 1

  • last_atstringobligatoire

    format: "date-time"

  • detailobject
  • Propriété supplémentaireToute valeur
  • allOf 2object
  • detailnon préciséobligatoire
  • oneOf 1object
  • kindstringobligatoire

    enum: "inbound"

  • threadnon préciséobligatoire
  • allOf 1object

    Imbrications supplémentaires omises

  • allOf 2object

    Imbrications supplémentaires omises

  • oneOf 2object
  • kindstringobligatoire

    enum: "broadcast", "outbound"

  • sendobjectobligatoire
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstring | nullobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • command_idstring | nullobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • statusstringobligatoire

    Imbrications supplémentaires omises

  • command_statusstring | nullobligatoire

    Imbrications supplémentaires omises

  • subjectstring

    Imbrications supplémentaires omises

  • recipientsarray

    Imbrications supplémentaires omises

  • recipient_countintegerobligatoire

    Imbrications supplémentaires omises

  • error_codestring | null

    Imbrications supplémentaires omises

  • send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstring | null

    Imbrications supplémentaires omises

  • route_kindstring | null

    Imbrications supplémentaires omises

  • sourcestring

    Imbrications supplémentaires omises

  • from_addressstring

    Imbrications supplémentaires omises

  • recipient_statesobject

    Imbrications supplémentaires omises

  • provider_message_idstring | null

    Imbrications supplémentaires omises

  • languagenon précisé

    Langue dans laquelle cet e-mail a été envoyé ; null s’il n’a pas été traduit.

    Imbrications supplémentaires omises

  • journeyobject | null

    Étape et inscription du Parcours ayant envoyé cet e-mail ; null pour les autres envois.

    Imbrications supplémentaires omises

  • experimentobject | null

    Variante d’expérience de cet e-mail ; null si aucune ne s’appliquait.

    Imbrications supplémentaires omises

  • created_atstringobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • updated_atstringobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • completed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • template_idstring | null

    format: "uuid"

    Imbrications supplémentaires omises

  • template_versioninteger | null

    Imbrications supplémentaires omises

  • workspace_revisioninteger | null

    Imbrications supplémentaires omises

  • command_resultobject

    Imbrications supplémentaires omises

  • command_started_atstring | null

    format: "date-time"

    Imbrications supplémentaires omises

  • command_completed_atstring | null

    format: "date-time"

    Imbrications supplémentaires omises

  • body_textstring

    Imbrications supplémentaires omises

  • body_htmlstring

    Imbrications supplémentaires omises

  • reply_toarray

    Imbrications supplémentaires omises

  • headersobject

    Imbrications supplémentaires omises

  • tagsarray

    Imbrications supplémentaires omises

  • timelinearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/logs/{entryId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Page mail

GET/v1/workspaces/{workspaceId}/mail-page

getMailPage

Renvoie toutes les données mail du premier affichage en une requête : boîtes mail visibles, boîte sélectionnée, libellés, décomptes des boîtes, révision de l’espace de travail et première page de conversations de la boîte sélectionnée.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

mailbox_id
query

Boîte mail préférée. Repli sur la première boîte visible.

  • valuestring

    format: "uuid"

label_id
query

Renvoyez uniquement les conversations de la boîte sélectionnée portant ce libellé.

  • valuestring

    format: "uuid"

view
query
  • valuestring

    default: "inbox" · enum: "inbox", "sent", "drafts", "archive", "trash", "spam", "all"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Données mail du premier affichage de l’espace de travail.

application/json

  • valueobject
  • dataobjectobligatoire
  • mailboxesarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • product_idstring | null

    Le produit (projet) auquel appartient la boîte mail. Les clients l’utilisent pour regrouper les boîtes mail et créer des liens vers l’application web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatoire

    format: "email"

  • display_namestringobligatoire
  • providerstringobligatoire

    enum: "gmail", "smtp"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatoire

    enum: "domain", "starter"

  • domainsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • selected_mailbox_idstring

    format: "uuid"

  • labelsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • colorstring | null
  • kindstringobligatoire
  • updated_atstringobligatoire

    format: "date-time"

  • threadsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • subjectstringobligatoire
  • snippetstringobligatoire
  • last_message_atstringobligatoire

    format: "date-time"

  • message_countintegerobligatoire
  • unread_countintegerobligatoire
  • is_archivedbooleanobligatoire
  • is_trashbooleanobligatoire
  • is_spambooleanobligatoire
  • is_starredbooleanobligatoire
  • is_sentbooleanobligatoire
  • has_attachmentsbooleanobligatoire
  • labelsarrayobligatoire
  • Chaque élémentstring
  • participantsarray
  • Chaque élémentobject
  • namestring

    Imbrications supplémentaires omises

  • emailstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • pageobjectobligatoire
  • next_cursorstring
  • has_morebooleanobligatoire
  • mailbox_thread_countsobjectobligatoire
  • Propriété supplémentaireinteger
  • revisionintegerobligatoire

    format: "int64"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mail-page?limit=50&mailbox_id=00000000-0000-4000-8000-000000000001&label_id=00000000-0000-4000-8000-000000000001&view=inbox' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Migration Mailchimp

GET/v1/workspaces/{workspaceId}/mailchimp-migration

Lisez la progression et le rapport de migration depuis Mailchimp.

Poll it to show live progress. Reads the move of a connection whose key stopped working (phase needs_new_key) or that was disconnected (phase disconnected) too, so what already came over can be shown. Without connection_id: the product's one active-or-error Mailchimp connection, else its most recently moved disconnected one.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

connection_id
query
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Rapport actuel de migration.

application/json

  • valueobject
  • dataobjectobligatoire

    Migration d’une connexion Mailchimp vers un produit. Interrogez GET /mailchimp-migration pour suivre la progression en direct : `phase` indique l’étape ; `counts`, `audiences`, `segments`, `templates` et `campaigns` augmentent au fil du processus.

  • migration_idstringobligatoire

    format: "uuid"

  • connection_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "importing", "completed"

  • phasestringobligatoire

    importing (reading Mailchimp), copying_designs (templates and campaigns), finishing, completed, needs_new_key (Mailchimp rejected the API key; the move is paused until a new key is saved with rotateConnectionCredential), or disconnected (the connection was removed; everything already moved stays in Banger and the counts stay readable).

    enum: "importing", "copying_designs", "finishing", "completed", "needs_new_key", "disconnected"

  • started_atstringobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • connectionobjectobligatoire
  • display_namestringobligatoire
  • account_namestring | nullobligatoire
  • statusstringobligatoire

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobligatoire
  • needs_new_keybooleanobligatoire
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobligatoire
  • import_streamsintegerobligatoire
  • import_streams_doneintegerobligatoire
  • failing_streamsarrayobligatoire
  • Chaque élémentobject
  • streamstringobligatoire
  • refstringobligatoire
  • error_codestring | nullobligatoire
  • designs_waitingintegerobligatoire
  • notestringobligatoire
  • countsobjectobligatoire
  • contactsintegerobligatoire
  • subscribedintegerobligatoire
  • unsubscribedintegerobligatoire
  • bouncedintegerobligatoire
  • contact_listsintegerobligatoire
  • contact_fieldsintegerobligatoire
  • segments_convertedintegerobligatoire
  • segments_kept_as_listsintegerobligatoire
  • templates_importedintegerobligatoire
  • templates_to_rebuildintegerobligatoire
  • campaigns_imported_as_designsintegerobligatoire
  • automations_importedintegerobligatoire
  • audiencesarrayobligatoire
  • Chaque élémentobject
  • mailchimp_idstringobligatoire
  • namestringobligatoire
  • list_idstring | nullobligatoire

    format: "uuid"

  • list_namestring | nullobligatoire
  • members_in_bangerintegerobligatoire
  • subscribedintegerobligatoire
  • unsubscribedintegerobligatoire
  • bouncedintegerobligatoire
  • members_in_mailchimpintegerobligatoire
  • contact_fieldsarrayobligatoire
  • Chaque élémentobject
  • mailchimp_tagstringobligatoire
  • namestringobligatoire
  • field_keystringobligatoire
  • typestringobligatoire

    enum: "text", "number", "boolean", "date", "choice", "choices"

  • consentstringobligatoire
  • segmentsarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring
  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring
  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject
  • keystringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • templatesarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring
  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring
  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject
  • keystringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • campaignsarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring
  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring
  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject
  • keystringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • automationsobjectobligatoire
  • importedbooleanobligatoire

    const: false

  • whystringobligatoire
  • next_stepsarrayobligatoire
  • Chaque élémentstring
  • help_call_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailchimp-migration?connection_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/mailchimp-migration

Démarrez ou relancez la migration depuis Mailchimp vers ce produit.

Connecter Mailchimp la démarre déjà ; relancer resynchronise et ajoute uniquement les nouveautés. Nécessite contacts:write et campaigns:write ; une personne connectée doit être propriétaire ou administrateur. Aucune autorisation de connexion n’est nécessaire.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • connection_idstring

    format: "uuid"

  • recent_campaignsinteger

    minimum: 0 · maximum: 50 · default: 10

Réponse réussie 202

La migration s’exécute en arrière-plan.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object

    Migration d’une connexion Mailchimp vers un produit. Interrogez GET /mailchimp-migration pour suivre la progression en direct : `phase` indique l’étape ; `counts`, `audiences`, `segments`, `templates` et `campaigns` augmentent au fil du processus.

  • migration_idstringobligatoire

    format: "uuid"

  • connection_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "importing", "completed"

  • phasestringobligatoire

    importing (reading Mailchimp), copying_designs (templates and campaigns), finishing, completed, needs_new_key (Mailchimp rejected the API key; the move is paused until a new key is saved with rotateConnectionCredential), or disconnected (the connection was removed; everything already moved stays in Banger and the counts stay readable).

    enum: "importing", "copying_designs", "finishing", "completed", "needs_new_key", "disconnected"

  • started_atstringobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • connectionobjectobligatoire
  • display_namestringobligatoire
  • account_namestring | nullobligatoire
  • statusstringobligatoire

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobligatoire
  • needs_new_keybooleanobligatoire
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobligatoire
  • import_streamsintegerobligatoire
  • import_streams_doneintegerobligatoire
  • failing_streamsarrayobligatoire
  • Chaque élémentobject
  • streamstringobligatoire

    Imbrications supplémentaires omises

  • refstringobligatoire

    Imbrications supplémentaires omises

  • error_codestring | nullobligatoire

    Imbrications supplémentaires omises

  • designs_waitingintegerobligatoire
  • notestringobligatoire
  • countsobjectobligatoire
  • contactsintegerobligatoire
  • subscribedintegerobligatoire
  • unsubscribedintegerobligatoire
  • bouncedintegerobligatoire
  • contact_listsintegerobligatoire
  • contact_fieldsintegerobligatoire
  • segments_convertedintegerobligatoire
  • segments_kept_as_listsintegerobligatoire
  • templates_importedintegerobligatoire
  • templates_to_rebuildintegerobligatoire
  • campaigns_imported_as_designsintegerobligatoire
  • automations_importedintegerobligatoire
  • audiencesarrayobligatoire
  • Chaque élémentobject
  • mailchimp_idstringobligatoire
  • namestringobligatoire
  • list_idstring | nullobligatoire

    format: "uuid"

  • list_namestring | nullobligatoire
  • members_in_bangerintegerobligatoire
  • subscribedintegerobligatoire
  • unsubscribedintegerobligatoire
  • bouncedintegerobligatoire
  • members_in_mailchimpintegerobligatoire
  • contact_fieldsarrayobligatoire
  • Chaque élémentobject
  • mailchimp_tagstringobligatoire
  • namestringobligatoire
  • field_keystringobligatoire
  • typestringobligatoire

    enum: "text", "number", "boolean", "date", "choice", "choices"

  • consentstringobligatoire
  • segmentsarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring

    Imbrications supplémentaires omises

  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring

    Imbrications supplémentaires omises

  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • templatesarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring

    Imbrications supplémentaires omises

  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring

    Imbrications supplémentaires omises

  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • campaignsarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring

    Imbrications supplémentaires omises

  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring

    Imbrications supplémentaires omises

  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • automationsobjectobligatoire
  • importedbooleanobligatoire

    const: false

  • whystringobligatoire
  • next_stepsarrayobligatoire
  • Chaque élémentstring
  • help_call_urlstringobligatoire

    format: "uri"

  • allOf 2object
  • messagestring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/mailchimp-migration' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "connection_id": "00000000-0000-4000-8000-000000000001",
  "recent_campaigns": 10
}'

Contenu géré

GET/v1/workspaces/{workspaceId}/managed-content

Listez le contenu d’e-mail géré du produit dans un ordre stable, ID le plus récent en premier.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

cursor
query
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Inventaire du contenu produit et curseur suivant facultatif.

application/json

  • valueobject
  • dataobjectobligatoire
  • itemsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire

    minimum: 1

  • review_requiredbooleanobligatoire
  • draft_revision_idstring | null

    format: "uuid"

  • submitted_revision_idstring | null

    format: "uuid"

  • approved_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revisionobject
  • Propriété supplémentaireToute valeur
  • translationsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • translation_jobsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • next_cursorstring | nullobligatoire

    format: "uuid"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content?limit=50&cursor=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/managed-content

Enregistrez un brouillon d’e-mail en locale source et mettez en file les traductions cibles manquantes.

N’envoie ni ne publie. La préparation des traductions n’a pas de frais par langue.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • contractobjectobligatoire

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

  • oneOf 1object

    Aucune propriété supplémentaire

  • typestringobligatoire

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultnon précisé

    Doit correspondre au type du champ.

    Imbrications supplémentaires omises

  • oneOf 2object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "object"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultobject

    Imbrications supplémentaires omises

  • propertiesobjectobligatoire

    Imbrications supplémentaires omises

  • oneOf 3object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "list"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultarray

    Imbrications supplémentaires omises

  • itemsnon préciséobligatoire

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

Réponse réussie 201

Source du brouillon et tâches de traduction en file.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire

    minimum: 1

  • review_requiredbooleanobligatoire
  • draft_revision_idstring | null

    format: "uuid"

  • submitted_revision_idstring | null

    format: "uuid"

  • approved_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revisionobject
  • Propriété supplémentaireToute valeur
  • translationsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • translation_jobsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "contract": {
    "source_locale": "example",
    "configured_locales": [
      "example"
    ],
    "fallback_locale": "example",
    "layout_id": "00000000-0000-4000-8000-000000000001",
    "localization_policy": {
      "manual_review": false
    },
    "source": {
      "subject": "example",
      "preheader": "example",
      "body_text": "example",
      "body_html": "example",
      "layout": "example",
      "variants": {},
      "variables": {}
    },
    "samples": {},
    "translations": {}
  }
}'
GET/v1/workspaces/{workspaceId}/managed-content/{contentId}

Lisez la révision du brouillon, les traductions et l’état de préparation.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État actuel du contenu.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire

    minimum: 1

  • review_requiredbooleanobligatoire
  • draft_revision_idstring | null

    format: "uuid"

  • submitted_revision_idstring | null

    format: "uuid"

  • approved_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revisionobject
  • Propriété supplémentaireToute valeur
  • translationsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • translation_jobsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • allOf 2object
  • source_revisionobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • content_idstringobligatoire

    format: "uuid"

  • revisionintegerobligatoire
  • source_localestringobligatoire
  • configured_localesarrayobligatoire
  • Chaque élémentstring
  • fallback_localestring | nullobligatoire
  • localization_policyobjectobligatoire

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • source_messagesobjectobligatoire
  • Propriété supplémentairestring
  • layout_idstring | nullobligatoire

    format: "uuid"

  • layout_revision_idstring | nullobligatoire

    format: "uuid"

  • samplesobjectobligatoire
  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • restored_from_revision_idstring | nullobligatoire

    format: "uuid"

  • translationsarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object
  • source_revision_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • localestringobligatoire

    Imbrications supplémentaires omises

  • stringsobjectobligatoire

    Imbrications supplémentaires omises

  • provenancestringobligatoire

    enum: "supplied", "generated", "reviewed"

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "ready", "needs_review"

    Imbrications supplémentaires omises

  • allOf 2object
  • strings_sha256stringobligatoire

    Imbrications supplémentaires omises

  • translation_jobsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • source_revision_idstringobligatoire

    format: "uuid"

  • localestringobligatoire
  • statusstringobligatoire
  • attempt_countintegerobligatoire
  • error_codestring | nullobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
PATCH/v1/workspaces/{workspaceId}/managed-content/{contentId}

Enregistrez une nouvelle révision source de brouillon sans changer la publication en production.

Une modification incompatible de variable ne peut pas être publiée sur cet ID de contenu. Créez et publiez un nouveau contenu géré, remplacez chaque référence de Parcours ou Campagne en brouillon par le nouvel ID, puis validez/activez le Parcours ou planifiez la Campagne. Les envois déjà acceptés et destinataires de Campagnes planifiées conservent leurs révisions figées.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • expected_versionintegerobligatoire

    minimum: 1

  • contractobjectobligatoire

    Aucune propriété supplémentaire

  • source_localestring

    Locale source BCP 47 canonique ; hérite des paramètres produit si omise.

  • configured_localesarray

    Locales source et cibles ; la source omise est ajoutée par le serveur.

    maxItems: 100 · uniqueItems: true

  • Chaque élémentstring
  • fallback_localestring
  • layout_idstring

    Mise en page réutilisable sélectionnée ; le serveur en capture la révision publiée dans cette révision de contenu.

    format: "uuid"

  • localization_policyobject

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

  • oneOf 1object

    Aucune propriété supplémentaire

  • typestringobligatoire

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultnon précisé

    Doit correspondre au type du champ.

    Imbrications supplémentaires omises

  • oneOf 2object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "object"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultobject

    Imbrications supplémentaires omises

  • propertiesobjectobligatoire

    Imbrications supplémentaires omises

  • oneOf 3object

    Aucune propriété supplémentaire

  • typenon préciséobligatoire

    const: "list"

    Imbrications supplémentaires omises

  • requiredboolean

    Imbrications supplémentaires omises

  • descriptionstring

    maxLength: 2000

    Imbrications supplémentaires omises

  • defaultarray

    Imbrications supplémentaires omises

  • itemsnon préciséobligatoire

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • samplesobject

    Jeux nommés de valeurs d’exemple pour l’aperçu et la validation source.

  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • translationsobject

    Catalogue source de messages ICU et catalogues cibles fournis facultatifs. Les cibles configurées manquantes sont mises en file pour traduction asynchrone ; l’enregistrement ne les exige pas.

  • Propriété supplémentaireobject
  • Propriété supplémentairestring

Réponse réussie 200

Nouvelle révision de brouillon et tâches de traduction en file.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire

    minimum: 1

  • review_requiredbooleanobligatoire
  • draft_revision_idstring | null

    format: "uuid"

  • submitted_revision_idstring | null

    format: "uuid"

  • approved_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revisionobject
  • Propriété supplémentaireToute valeur
  • translationsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • translation_jobsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "expected_version": 1,
  "contract": {
    "source_locale": "example",
    "configured_locales": [
      "example"
    ],
    "fallback_locale": "example",
    "layout_id": "00000000-0000-4000-8000-000000000001",
    "localization_policy": {
      "manual_review": false
    },
    "source": {
      "subject": "example",
      "preheader": "example",
      "body_text": "example",
      "body_html": "example",
      "layout": "example",
      "variants": {},
      "variables": {}
    },
    "samples": {},
    "translations": {}
  }
}'
POST/v1/workspaces/{workspaceId}/managed-content/{contentId}/render

Prévisualisez une révision source enregistrée et une locale prête sans envoi.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Utilisez sample_set ou variables, jamais les deux. Par défaut, le premier exemple nommé.

    Aucune propriété supplémentaire

  • source_revision_idstring

    format: "uuid"

  • variantstring

    Clé de version A/B source.

  • localestring
  • timezonestring

    Fuseau horaire IANA ; UTC par défaut.

  • sample_setstring
  • variablesobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Objet, pré-en-tête, HTML, texte brut dérivé, locale et direction déterministes.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • subjectstringobligatoire
  • preheaderstring
  • htmlstringobligatoire
  • textstringobligatoire
  • localestringobligatoire
  • directionstringobligatoire

    enum: "ltr", "rtl"

  • warningsarray
  • Chaque élémentstring
  • Propriété supplémentaireToute valeur
  • allOf 2object
  • source_revision_idstringobligatoire

    format: "uuid"

  • layout_revision_idstring | nullobligatoire

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/render' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "source_revision_id": "00000000-0000-4000-8000-000000000001",
  "variant": "example",
  "locale": "example",
  "timezone": "example",
  "sample_set": "example",
  "variables": {}
}'
POST/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/retry

Réessayez une traduction automatique échouée du brouillon source actuel.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

locale
path · obligatoire
  • valuestring

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Nouvelle tentative de traduction en file.

application/json

  • valueobject
  • databooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/retry' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations

Lisez les catalogues de traduction et tâches de préparation de la révision du brouillon.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État actuel du contenu, avec traductions et tâches.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire

    minimum: 1

  • review_requiredbooleanobligatoire
  • draft_revision_idstring | null

    format: "uuid"

  • submitted_revision_idstring | null

    format: "uuid"

  • approved_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revisionobject
  • Propriété supplémentaireToute valeur
  • translationsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • translation_jobsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • allOf 2object
  • source_revisionobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • content_idstringobligatoire

    format: "uuid"

  • revisionintegerobligatoire
  • source_localestringobligatoire
  • configured_localesarrayobligatoire
  • Chaque élémentstring
  • fallback_localestring | nullobligatoire
  • localization_policyobjectobligatoire

    Un e-mail de Parcours part uniquement dans la langue de la personne : il attend sa traduction, environ une minute pour les reçus, codes et avis de sécurité et jusqu’à un jour pour les autres e-mails, et n’est pas envoyé si elle n’est pas prête à temps.

    Aucune propriété supplémentaire

  • manual_reviewboolean

    default: false

  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • source_messagesobjectobligatoire
  • Propriété supplémentairestring
  • layout_idstring | nullobligatoire

    format: "uuid"

  • layout_revision_idstring | nullobligatoire

    format: "uuid"

  • samplesobjectobligatoire
  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • restored_from_revision_idstring | nullobligatoire

    format: "uuid"

  • translationsarrayobligatoire
  • Chaque élémentnon précisé
  • allOf 1object
  • source_revision_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • localestringobligatoire

    Imbrications supplémentaires omises

  • stringsobjectobligatoire

    Imbrications supplémentaires omises

  • provenancestringobligatoire

    enum: "supplied", "generated", "reviewed"

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "ready", "needs_review"

    Imbrications supplémentaires omises

  • allOf 2object
  • strings_sha256stringobligatoire

    Imbrications supplémentaires omises

  • translation_jobsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • source_revision_idstringobligatoire

    format: "uuid"

  • localestringobligatoire
  • statusstringobligatoire
  • attempt_countintegerobligatoire
  • error_codestring | nullobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/review

Validez le catalogue de traduction exact en attente pour une révision source.

Nécessite le SHA-256 du catalogue de la relecture actuelle. Les chaînes corrigées sont facultatives ; cette opération ne publie pas la source.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

locale
path · obligatoire
  • valuestring

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • source_revision_idstringobligatoire

    format: "uuid"

  • expected_translation_sha256stringobligatoire

    pattern: "^[a-f0-9]{64}$"

  • stringsobject
  • Propriété supplémentairestring

Réponse réussie 200

Catalogue validé et son nouveau SHA-256.

application/json

  • valueobject
  • dataobjectobligatoire
  • source_revision_idstringobligatoire

    format: "uuid"

  • localestringobligatoire
  • stringsobjectobligatoire
  • Propriété supplémentairestring
  • provenancestringobligatoire

    enum: "reviewed"

  • statusstringobligatoire

    enum: "ready"

  • strings_sha256stringobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/review' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "source_revision_id": "00000000-0000-4000-8000-000000000001",
  "expected_translation_sha256": "example",
  "strings": {}
}'
GET/v1/workspaces/{workspaceId}/managed-content/{contentId}/versions

Listez l’historique de publication immuable.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Enregistrements de publication.

application/json

  • valueobject
  • dataobjectobligatoire
  • versionsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • revisionintegerobligatoire
  • source_localestringobligatoire
  • configured_localesarrayobligatoire
  • Chaque élémentstring
  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • subjectstringobligatoire

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accepté pour compatibilité source ; le texte brut rendu est dérivé du HTML final.

    maxLength: 100000

  • body_htmlstringobligatoire

    minLength: 1 · maxLength: 100000

  • layoutstring

    Doit contenir un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versions sources facultatives. Chaque version est traduite automatiquement dans la même révision.

  • Propriété supplémentaireobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • variablesobjectobligatoire
  • Propriété supplémentairenon précisé

    Variable typée récursive. Les valeurs monétaires utilisent {amount_cents: integer, currency: ISO 4217 code} ; les valeurs date sont des dates calendaires ISO et datetime des horodatages ISO avec décalages.

    Imbrications supplémentaires omises

  • source_messagesobjectobligatoire
  • Propriété supplémentairestring
  • samplesobjectobligatoire
  • Propriété supplémentaireobject
  • Propriété supplémentaireToute valeur
  • restored_from_revision_idstring | nullobligatoire

    format: "uuid"

  • created_by_actor_idstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • publicationsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • source_revision_idstringobligatoire

    format: "uuid"

  • approval_idstring | nullobligatoire

    format: "uuid"

  • published_by_actor_idstringobligatoire
  • published_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/versions' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/managed-content/{contentId}/restore

Copiez une révision source antérieure dans un nouveau brouillon, sans publication.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

contentId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • source_revision_idstringobligatoire

    format: "uuid"

  • expected_versionintegerobligatoire

    minimum: 1

Réponse réussie 200

État du brouillon restauré.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire

    minimum: 1

  • review_requiredbooleanobligatoire
  • draft_revision_idstring | null

    format: "uuid"

  • submitted_revision_idstring | null

    format: "uuid"

  • approved_revision_idstring | null

    format: "uuid"

  • published_revision_idstring | null

    format: "uuid"

  • published_publication_idstring | null

    format: "uuid"

  • source_revisionobject
  • Propriété supplémentaireToute valeur
  • translationsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • translation_jobsarray
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/restore' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "source_revision_id": "00000000-0000-4000-8000-000000000001",
  "expected_version": 1
}'

Mises en page gérées

GET/v1/workspaces/{workspaceId}/managed-layouts

Listez les mises en page d’e-mail réutilisables du produit.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Mises en page du produit.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire
  • draft_revision_idstring | nullobligatoire

    format: "uuid"

  • published_revision_idstring | nullobligatoire

    format: "uuid"

  • published_publication_idstring | nullobligatoire

    format: "uuid"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-layouts' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/managed-layouts

Créez une mise en page brouillon depuis du HTML validé ou un modèle par défaut fondé sur la marque.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

  • htmlstring

    Doit contenir exactement un slot de contenu.

  • source_localestring
  • source_messagesobject
  • Propriété supplémentairestring
  • translationsobject
  • Propriété supplémentaireobject
  • Propriété supplémentairestring

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire
  • draft_revision_idstring | nullobligatoire

    format: "uuid"

  • published_revision_idstring | nullobligatoire

    format: "uuid"

  • published_publication_idstring | nullobligatoire

    format: "uuid"

  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-layouts' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "html": "example",
  "source_locale": "example",
  "source_messages": {},
  "translations": {}
}'
GET/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}

Lisez une mise en page et sa révision brouillon actuelle.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

layoutId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Mise en page et révision brouillon.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire
  • draft_revision_idstring | nullobligatoire

    format: "uuid"

  • published_revision_idstring | nullobligatoire

    format: "uuid"

  • published_publication_idstring | nullobligatoire

    format: "uuid"

  • draft_revisionnon préciséobligatoire
  • anyOf 1object
  • idstringobligatoire

    format: "uuid"

  • layout_idstring

    format: "uuid"

  • revisionintegerobligatoire
  • htmlstringobligatoire
  • brand_snapshotobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • source_localestringobligatoire
  • source_messagesobjectobligatoire
  • Propriété supplémentairestring
  • translationsobjectobligatoire
  • Propriété supplémentaireobject
  • Propriété supplémentairestring

    Imbrications supplémentaires omises

  • restored_from_revision_idstring | nullobligatoire

    format: "uuid"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

  • anyOf 2null

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
PATCH/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}

Enregistrez une révision validée de mise en page brouillon.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

layoutId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • expected_versionintegerobligatoire

    minimum: 1

  • htmlstringobligatoire

    Doit contenir exactement un slot de contenu.

  • source_localestring
  • source_messagesobject
  • Propriété supplémentairestring
  • translationsobject
  • Propriété supplémentaireobject
  • Propriété supplémentairestring

Réponse réussie 200

Nouvelle révision brouillon.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire
  • draft_revision_idstring | nullobligatoire

    format: "uuid"

  • published_revision_idstring | nullobligatoire

    format: "uuid"

  • published_publication_idstring | nullobligatoire

    format: "uuid"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "expected_version": 1,
  "html": "example",
  "source_locale": "example",
  "source_messages": {},
  "translations": {}
}'
GET/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/versions

Listez les révisions immuables de mise en page.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

layoutId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Révisions de mise en page.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • layout_idstring

    format: "uuid"

  • revisionintegerobligatoire
  • htmlstringobligatoire
  • brand_snapshotobjectobligatoire
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icône : le symbole seul, utilisé en petit format (pied d’e-mail, formulaires coulissants) et comme en-tête en l’absence de logotype.

    maxLength: 2000

  • wordmark_urlstring

    Le logotype : le nom de l’entreprise tel qu’il est dessiné, affiché seul en haut de chaque e-mail.

    maxLength: 2000

  • website_urlstring

    maxLength: 2000

  • primary_colorstring

    maxLength: 7

  • accent_colorstring

    maxLength: 7

  • background_colorstring

    maxLength: 7

  • surface_colorstring

    maxLength: 7

  • text_colorstring

    maxLength: 7

  • muted_text_colorstring

    maxLength: 7

  • heading_font_familystring

    maxLength: 200

  • body_font_familystring

    maxLength: 200

  • tonestring

    maxLength: 1000

  • footer_addressstring

    maxLength: 500

  • email_stylestring

    maxLength: 20

  • source_localestringobligatoire
  • source_messagesobjectobligatoire
  • Propriété supplémentairestring
  • translationsobjectobligatoire
  • Propriété supplémentaireobject
  • Propriété supplémentairestring
  • restored_from_revision_idstring | nullobligatoire

    format: "uuid"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/versions' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/impact

Décrivez les brouillons de contenu et publications dépendant d’une mise en page.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

layoutId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Impact des dépendances de mise en page.

application/json

  • valueobject
  • dataobjectobligatoire
  • layout_idstringobligatoire

    format: "uuid"

  • layout_revision_idstringobligatoire

    format: "uuid"

  • layout_versionintegerobligatoire
  • affected_contentsarrayobligatoire
  • Chaque élémentobject
  • content_idstringobligatoire

    format: "uuid"

  • versionintegerobligatoire
  • published_revision_idstringobligatoire

    format: "uuid"

  • active_journeysarrayobligatoire
  • Chaque élémentobject
  • journey_idstringobligatoire

    format: "uuid"

  • versionintegerobligatoire
  • definition_sha256stringobligatoire
  • manifest_sha256stringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/impact' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/restore

Copiez une révision immuable de mise en page dans un nouveau brouillon.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

layoutId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • layout_revision_idstringobligatoire

    format: "uuid"

  • expected_versionintegerobligatoire

    minimum: 1

Réponse réussie 200

Révision brouillon restaurée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • versionintegerobligatoire
  • draft_revision_idstring | nullobligatoire

    format: "uuid"

  • published_revision_idstring | nullobligatoire

    format: "uuid"

  • published_publication_idstring | nullobligatoire

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/restore' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "layout_revision_id": "00000000-0000-4000-8000-000000000001",
  "expected_version": 1
}'

Membres

PATCH/v1/workspaces/{workspaceId}/members/{memberId}

Changez le rôle d’un autre membre.

Les propriétaires et administrateurs attribuent admin, member ou viewer à un autre membre. Une personne connectée, ou un agent via son autorisation OAuth, doit effectuer le changement ; une clé API autonome ne peut pas le faire. Personne ne change son propre rôle et celui du propriétaire n’est pas modifiable. Définir le rôle actuel ne change rien.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

memberId
path · obligatoire

ID d’identité du membre, comme `id` dans l’annuaire de l’espace de travail.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • rolestringobligatoire

    enum: "admin", "member", "viewer"

Réponse réussie 200

Membre avec son nouveau rôle et son rôle précédent.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • userIdstringobligatoire
  • emailstring

    format: "email"

  • displayNamestring
  • kindstringobligatoire

    const: "user"

  • rolestringobligatoire

    enum: "owner", "admin", "member", "viewer"

  • statusstringobligatoire

    enum: "active", "suspended"

  • allOf 2object
  • previousRolestringobligatoire

    enum: "owner", "admin", "member", "viewer"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/members/{memberId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "role": "admin"
}'

Oauth

POST/v1/workspaces/{workspaceId}/oauth/setup-ticket

Créer un ticket de configuration de connexion d’agent

Nécessite une session humaine connectée. Les clés API et identifiants d’agents ne peuvent pas autoriser cette opération.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • entry_surfacestringobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent"

  • client_namestringobligatoire

    minLength: 1 · maxLength: 100

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • mcp_urlstringobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • scopesarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/oauth/setup-ticket' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "entry_surface": "codex",
  "client_name": "example"
}'
POST/v1/workspaces/{workspaceId}/oauth/setup-ticket/connection-code

Envoyer par e-mail un code de connexion d’agent

Nécessite une session humaine connectée. Les clés API et identifiants d’agents ne peuvent pas autoriser cette opération.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • mcp_urlstringobligatoire

    minLength: 8 · maxLength: 8000

  • reuse_pendingboolean

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • statusstringobligatoire

    enum: "code_sent"

  • messagestring
  • expires_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/oauth/setup-ticket/connection-code' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mcp_url": "examplex",
  "reuse_pending": true
}'
DELETE/v1/workspaces/{workspaceId}/oauth/setup-ticket/connection-code

Annuler un code de connexion d’agent en attente

Nécessite une session humaine connectée. Les clés API et identifiants d’agents ne peuvent pas autoriser cette opération.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • mcp_urlstringobligatoire

    minLength: 8 · maxLength: 8000

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • statusstringobligatoire

    enum: "cancelled"

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/oauth/setup-ticket/connection-code' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mcp_url": "examplex"
}'

Clients Oauth

GET/v1/workspaces/{workspaceId}/oauth-clients

Listez les clients OAuth de l’espace de travail pour les plateformes d’agents utilisant un ID et un secret client, comme Gemini Enterprise.

Propriétaires et administrateurs uniquement. Les secrets ne sont jamais renvoyés.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Clients OAuth actifs, plus récents en premier.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • client_idstringobligatoire
  • namestringobligatoire
  • presetstringobligatoire

    enum: "gemini_enterprise", "custom"

  • client_surfacestringobligatoire

    Plateforme d’agent derrière une connexion OAuth, d’après le nom du client et ses URI de redirection.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • redirect_urisarrayobligatoire
  • Chaque élémentstring

    format: "uri"

  • connectionsintegerobligatoire

    Connexions actives établies via ce client.

    minimum: 0

  • created_atstringobligatoire

    format: "date-time"

  • created_by_youbooleanobligatoire
  • setupobjectobligatoire

    Valeurs à saisir dans le formulaire de serveur MCP personnalisé de la plateforme d’agents.

  • server_urlstringobligatoire

    format: "uri"

  • authorization_urlstringobligatoire

    format: "uri"

  • token_urlstringobligatoire

    format: "uri"

  • scopesstringobligatoire

    Séparés par des espaces. offline_access demande un jeton de renouvellement, présent dans chaque connexion.

  • token_endpoint_auth_methodsarrayobligatoire
  • Chaque élémentstring

    enum: "client_secret_basic", "client_secret_post"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/oauth-clients' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/oauth-clients

Créez un client OAuth confidentiel (ID et secret client) pour une plateforme d’agents.

Propriétaires et administrateurs uniquement. Chaque membre connecté via le client se connecte à Banger, approuve l’accès et agit avec son propre rôle dans cet espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestring

    Affiché dans Applications connectées. "Gemini Enterprise" par défaut pour ce préréglage.

    minLength: 1 · maxLength: 100

  • presetstring

    gemini_enterprise utilise l’URI de redirection Google ; custom nécessite redirect_uris.

    default: "gemini_enterprise" · enum: "gemini_enterprise", "custom"

  • redirect_urisarray

    Préréglage custom uniquement. URI de redirection HTTPS, fixées à la création.

    minItems: 1 · maxItems: 10

  • Chaque élémentstring

    format: "uri"

Réponse réussie 201

Client OAuth créé. Le secret client n’est renvoyé qu’une fois.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • client_idstringobligatoire
  • namestringobligatoire
  • presetstringobligatoire

    enum: "gemini_enterprise", "custom"

  • client_surfacestringobligatoire

    Plateforme d’agent derrière une connexion OAuth, d’après le nom du client et ses URI de redirection.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • redirect_urisarrayobligatoire
  • Chaque élémentstring

    format: "uri"

  • connectionsintegerobligatoire

    Connexions actives établies via ce client.

    minimum: 0

  • created_atstringobligatoire

    format: "date-time"

  • created_by_youbooleanobligatoire
  • setupobjectobligatoire

    Valeurs à saisir dans le formulaire de serveur MCP personnalisé de la plateforme d’agents.

  • server_urlstringobligatoire

    format: "uri"

  • authorization_urlstringobligatoire

    format: "uri"

  • token_urlstringobligatoire

    format: "uri"

  • scopesstringobligatoire

    Séparés par des espaces. offline_access demande un jeton de renouvellement, présent dans chaque connexion.

  • token_endpoint_auth_methodsarrayobligatoire
  • Chaque élémentstring

    enum: "client_secret_basic", "client_secret_post"

  • allOf 2object
  • client_secretstringobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/oauth-clients' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "preset": "gemini_enterprise",
  "redirect_uris": [
    "https://example.com"
  ]
}'
POST/v1/workspaces/{workspaceId}/oauth-clients/{clientId}/revoke

Révoquez un client OAuth. Son secret cesse de fonctionner et toutes ses connexions perdent l’accès sous environ 30 secondes.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

clientId
path · obligatoire
  • valuestring

    maxLength: 200

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Client OAuth révoqué.

application/json

  • valueobject
  • dataobjectobligatoire
  • client_idstringobligatoire
  • revokedbooleanobligatoire

    const: true

  • revoked_connectionsintegerobligatoire

    minimum: 0

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/oauth-clients/{clientId}/revoke' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Ticket temps réel

POST/v1/workspaces/{workspaceId}/realtime-ticket

createRealtimeTicket

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • device_idstringobligatoire

    minLength: 8 · maxLength: 128

Réponse réussie 200

Ticket de courte durée limité à l’acteur et à l’espace de travail.

application/json

  • valueobject
  • dataobjectobligatoire
  • ticketstringobligatoire
  • websocket_urlstringobligatoire

    format: "uri"

  • expires_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/realtime-ticket' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "device_id": "examplex"
}'

Politique de validation

GET/v1/workspaces/{workspaceId}/review-policy

getActionReviewPolicy

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Politique de validation automatique de l’espace de travail.

application/json

  • valueobject
  • dataobjectobligatoire
  • policy_versionintegerobligatoire

    enum: 1, 2

  • automatic_review_enabledbooleanobligatoire
  • manual_send_review_enabledbooleanobligatoire

    False par défaut pour les requêtes directes ; les limites enregistrées plus strictes restent actives.

  • manual_send_recipient_thresholdintegerobligatoire

    minimum: 1 · maximum: 1000000

  • updated_by_actor_idstringobligatoire
  • created_atstring | null

    format: "date-time"

  • updated_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/review-policy' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/review-policy

updateActionReviewPolicy

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • automatic_review_enabledbooleanobligatoire
  • manual_send_recipient_thresholdintegerobligatoire

    minimum: 1 · maximum: 1000000

  • manual_send_review_enabledboolean

    Activez la limite facultative de validation humaine ; les mises à jour explicites du seuil hérité la maintiennent active.

Réponse réussie 200

Politique de validation automatique mise à jour.

application/json

  • valueobject
  • dataobjectobligatoire
  • policy_versionintegerobligatoire

    enum: 1, 2

  • automatic_review_enabledbooleanobligatoire
  • manual_send_review_enabledbooleanobligatoire

    False par défaut pour les requêtes directes ; les limites enregistrées plus strictes restent actives.

  • manual_send_recipient_thresholdintegerobligatoire

    minimum: 1 · maximum: 1000000

  • updated_by_actor_idstringobligatoire
  • created_atstring | null

    format: "date-time"

  • updated_atstring | null

    format: "date-time"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/review-policy' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "automatic_review_enabled": true,
  "manual_send_recipient_threshold": 1,
  "manual_send_review_enabled": true
}'

Sélectionner

POST/v1/workspaces/{workspaceId}/select

Définissez un espace de travail comme celui actuellement utilisé par la personne connectée.

Sessions de navigateur uniquement ; les clés API et autorisations OAuth sont figées sur l’espace de travail autorisé et reçoivent 403 credential_workspace_pinned. Nécessite une appartenance active. L’application ouvre alors cet espace avec ses produits et sa configuration initiale. Le parcours de configuration initiale de la personne n’est pas réinitialisé. Idempotent.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Espace de travail sélectionné.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • selected_workspace_idstringobligatoire

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/select' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Avatar de l’expéditeur

GET/v1/workspaces/{workspaceId}/sender-avatar

getSenderAvatar

Résout d’abord un avatar exact de l’expéditeur, puis découvre et met en cache l’icône de son domaine dans le préfixe B2 privé de l’espace de travail. Un expéditeur sans image répond 204 ; 404 signifie que l’adresse n’est pas un expéditeur dans cet espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

email
query · obligatoire
  • valuestring

    format: "email" · maxLength: 320

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Image authentifiée d’avatar de l’expéditeur ou du domaine.

image/png

  • valuestring

    format: "binary"

image/jpeg

  • valuestring

    format: "binary"

image/webp

  • valuestring

    format: "binary"

image/svg+xml

  • valuestring

    format: "binary"

image/x-icon

  • valuestring

    format: "binary"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sender-avatar?email=person%40example.com' \
  --header "Authorization: Bearer $BANGER_API_KEY"

État des envois

GET/v1/workspaces/{workspaceId}/sending-health

Lisez l’état d’application de la réputation expéditeur, les taux par canal, pauses et seuils appliqués.

Chaque canal (Boîte mail, Produit, Campagne) de chaque domaine d’envoi avec taux de rebond définitif et de plainte des dernières 24 heures et état (active, warning, paused), pauses de domaine, boîtes mail en pause et gel éventuel de l’espace de travail. Chaque pause liste ses principales sources de rebond et de plainte et indique si un administrateur peut la lever. Les seuils sont documentés dans docs/product/sending-reputation-enforcement.md.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État des envois.

application/json

  • valueobject
  • dataobjectobligatoire
  • workspaceobjectobligatoire
  • statestringobligatoire

    enum: "active", "frozen"

  • holdnon préciséobligatoire
  • oneOf 1object
  • idstringobligatoire

    format: "uuid"

  • scopestringobligatoire

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobligatoire

    enum: "warning", "paused", "frozen"

  • reasonstringobligatoire

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root ou complaint_burst.

  • started_atstringobligatoire

    format: "date-time"

  • review_requiredbooleanobligatoire
  • evidenceobjectobligatoire
  • Propriété supplémentaireToute valeur
  • resumeobjectobligatoire
  • self_servebooleanobligatoire

    Imbrications supplémentaires omises

  • blocked_reasonstring | nullobligatoire

    Imbrications supplémentaires omises

  • resumable_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • top_sourcesarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • top_recipient_domainsarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • oneOf 2null
  • domainsarrayobligatoire
  • Chaque élémentobject
  • domain_idstringobligatoire

    format: "uuid"

  • domainstringobligatoire
  • product_idstring | nullobligatoire

    format: "uuid"

  • statestringobligatoire

    enum: "active", "paused"

  • holdnon préciséobligatoire
  • oneOf 1object
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • scopestringobligatoire

    enum: "mailbox", "lane", "domain", "workspace"

    Imbrications supplémentaires omises

  • statestringobligatoire

    enum: "warning", "paused", "frozen"

    Imbrications supplémentaires omises

  • reasonstringobligatoire

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root ou complaint_burst.

    Imbrications supplémentaires omises

  • started_atstringobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • review_requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • evidenceobjectobligatoire

    Imbrications supplémentaires omises

  • resumeobjectobligatoire

    Imbrications supplémentaires omises

  • top_sourcesarray

    Imbrications supplémentaires omises

  • top_recipient_domainsarray

    Imbrications supplémentaires omises

  • oneOf 2null
  • lanesarrayobligatoire
  • Chaque élémentobject
  • lane_kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • sending_stream_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • from_domainstringobligatoire

    Imbrications supplémentaires omises

  • statestringobligatoire

    enum: "active", "warning", "paused"

    Imbrications supplémentaires omises

  • probation_untilstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • ratesobjectobligatoire

    Imbrications supplémentaires omises

  • holdnon préciséobligatoire

    Imbrications supplémentaires omises

  • mailboxesarrayobligatoire
  • Chaque élémentobject
  • mailbox_idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • product_idstring | nullobligatoire

    format: "uuid"

  • statestringobligatoire

    enum: "paused"

  • holdobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • scopestringobligatoire

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobligatoire

    enum: "warning", "paused", "frozen"

  • reasonstringobligatoire

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root ou complaint_burst.

  • started_atstringobligatoire

    format: "date-time"

  • review_requiredbooleanobligatoire
  • evidenceobjectobligatoire
  • Propriété supplémentaireToute valeur
  • resumeobjectobligatoire
  • self_servebooleanobligatoire

    Imbrications supplémentaires omises

  • blocked_reasonstring | nullobligatoire

    Imbrications supplémentaires omises

  • resumable_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • top_sourcesarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • top_recipient_domainsarray
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • thresholdsobjectobligatoire

    Seuils appliqués (src/sending/reputation-policy.ts).

  • Propriété supplémentaireToute valeur

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-health' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/sending-health/resume

Levez une pause de canal, domaine ou boîte mail après examen des taux et sources.

Administrateur de l’espace de travail uniquement. Autorisé 24 heures après une pause de canal ou domaine et une fois par 30 jours par domaine. Une pause répétée sous 30 jours ou un espace gelé nécessite une validation Banger et est refusé avec 423. Après reprise, le canal envoie par lots plus petits pendant 24 heures ; les Campagnes et Parcours retenus continuent automatiquement.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • hold_idstringobligatoire

    Pause (hold.id) de getSendingHealth.

    format: "uuid"

  • acknowledge_reputation_riskbooleanobligatoire

    const: true

  • reasonstring

    Ce qui a été corrigé ; consigné dans le journal d’audit.

    maxLength: 500

Réponse réussie 200

La pause a été levée.

application/json

  • valueobject
  • dataobjectobligatoire
  • resumedobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • scopestringobligatoire

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobligatoire

    enum: "warning", "paused", "frozen"

  • reasonstringobligatoire

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root ou complaint_burst.

  • started_atstringobligatoire

    format: "date-time"

  • review_requiredbooleanobligatoire
  • evidenceobjectobligatoire
  • Propriété supplémentaireToute valeur
  • resumeobjectobligatoire
  • self_servebooleanobligatoire
  • blocked_reasonstring | nullobligatoire
  • resumable_atstring | nullobligatoire

    format: "date-time"

  • top_sourcesarray
  • Chaque élémentobject
  • signalstringobligatoire

    enum: "hard_bounce", "complaint"

  • sourcestringobligatoire
  • source_idstring | nullobligatoire
  • countintegerobligatoire
  • top_recipient_domainsarray
  • Chaque élémentobject
  • signalstringobligatoire

    enum: "hard_bounce", "complaint"

  • recipient_domainstringobligatoire
  • countintegerobligatoire
  • probation_untilstring | nullobligatoire

    format: "date-time"

  • healthobjectobligatoire
  • workspaceobjectobligatoire
  • statestringobligatoire

    enum: "active", "frozen"

  • holdnon préciséobligatoire
  • oneOf 1object
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • scopestringobligatoire

    enum: "mailbox", "lane", "domain", "workspace"

    Imbrications supplémentaires omises

  • statestringobligatoire

    enum: "warning", "paused", "frozen"

    Imbrications supplémentaires omises

  • reasonstringobligatoire

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root ou complaint_burst.

    Imbrications supplémentaires omises

  • started_atstringobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • review_requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • evidenceobjectobligatoire

    Imbrications supplémentaires omises

  • resumeobjectobligatoire

    Imbrications supplémentaires omises

  • top_sourcesarray

    Imbrications supplémentaires omises

  • top_recipient_domainsarray

    Imbrications supplémentaires omises

  • oneOf 2null
  • domainsarrayobligatoire
  • Chaque élémentobject
  • domain_idstringobligatoire

    format: "uuid"

  • domainstringobligatoire
  • product_idstring | nullobligatoire

    format: "uuid"

  • statestringobligatoire

    enum: "active", "paused"

  • holdnon préciséobligatoire
  • oneOf 1object

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • lanesarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • mailboxesarrayobligatoire
  • Chaque élémentobject
  • mailbox_idstringobligatoire

    format: "uuid"

  • addressstringobligatoire
  • product_idstring | nullobligatoire

    format: "uuid"

  • statestringobligatoire

    enum: "paused"

  • holdobjectobligatoire
  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • scopestringobligatoire

    enum: "mailbox", "lane", "domain", "workspace"

    Imbrications supplémentaires omises

  • statestringobligatoire

    enum: "warning", "paused", "frozen"

    Imbrications supplémentaires omises

  • reasonstringobligatoire

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root ou complaint_burst.

    Imbrications supplémentaires omises

  • started_atstringobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • review_requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • evidenceobjectobligatoire

    Imbrications supplémentaires omises

  • resumeobjectobligatoire

    Imbrications supplémentaires omises

  • top_sourcesarray

    Imbrications supplémentaires omises

  • top_recipient_domainsarray

    Imbrications supplémentaires omises

  • thresholdsobjectobligatoire

    Seuils appliqués (src/sending/reputation-policy.ts).

  • Propriété supplémentaireToute valeur

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-health/resume' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "hold_id": "00000000-0000-4000-8000-000000000001",
  "acknowledge_reputation_risk": true,
  "reason": "example"
}'

Canaux d’envoi

GET/v1/workspaces/{workspaceId}/sending-lanes

listEmailLanes

Canaux configurés et routage effectif de l’expéditeur par défaut. Produit et Campagne héritent de la connexion Mail par défaut jusqu’à l’activation d’un canal dédié. Les canaux en attente ne remplacent pas la route opérationnelle.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Canaux canoniques, routes héritées et expéditeur par défaut existant.

application/json

  • valueobject
  • dataobjectobligatoire
  • domainsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • created_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • display_namestringobligatoire

    Imbrications supplémentaires omises

  • from_domainstringobligatoire

    Imbrications supplémentaires omises

  • mail_from_domainstring | nullobligatoire

    Imbrications supplémentaires omises

  • inbound_domainstring | nullobligatoire

    Imbrications supplémentaires omises

  • route_providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

    Imbrications supplémentaires omises

  • status_reasonstring | nullobligatoire

    Imbrications supplémentaires omises

  • desired_revisionintegerobligatoire

    minimum: 1

    Imbrications supplémentaires omises

  • observed_revisionintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • dns_readybooleanobligatoire

    Imbrications supplémentaires omises

  • provider_readybooleanobligatoire

    Imbrications supplémentaires omises

  • inbound_readybooleanobligatoire

    Imbrications supplémentaires omises

  • outbound_readybooleanobligatoire

    Imbrications supplémentaires omises

  • banger_transport_readybooleanobligatoire

    Imbrications supplémentaires omises

  • banger_mail_from_domainstring | nullobligatoire

    Imbrications supplémentaires omises

  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

    Imbrications supplémentaires omises

  • provisioning_error_codestring | null

    Imbrications supplémentaires omises

  • provisioning_next_attempt_atstring | null

    Imbrications supplémentaires omises

  • provisioning_last_checked_atstring | null

    Imbrications supplémentaires omises

  • provider_identity_statusstring | null

    Imbrications supplémentaires omises

  • provider_dkim_statusstring | null

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • routingobjectobligatoire
  • mailboxobjectobligatoire
  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • lane_idstring | nullobligatoire
  • domain_idstring | nullobligatoire
  • from_domainstring | nullobligatoire
  • sourcestringobligatoire

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobligatoire
  • pending_lanesarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    Imbrications supplémentaires omises

  • from_domainstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    Imbrications supplémentaires omises

  • productobjectobligatoire
  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • lane_idstring | nullobligatoire
  • domain_idstring | nullobligatoire
  • from_domainstring | nullobligatoire
  • sourcestringobligatoire

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobligatoire
  • pending_lanesarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    Imbrications supplémentaires omises

  • from_domainstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    Imbrications supplémentaires omises

  • broadcastobjectobligatoire
  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • lane_idstring | nullobligatoire
  • domain_idstring | nullobligatoire
  • from_domainstring | nullobligatoire
  • sourcestringobligatoire

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobligatoire
  • pending_lanesarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    Imbrications supplémentaires omises

  • from_domainstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    Imbrications supplémentaires omises

  • default_sendernon préciséobligatoire
  • oneOf 1object
  • idstringobligatoire

    format: "uuid"

  • workspace_idstringobligatoire

    format: "uuid"

  • product_idstring | null

    Le produit (projet) auquel appartient la boîte mail. Les clients l’utilisent pour regrouper les boîtes mail et créer des liens vers l’application web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatoire

    format: "email"

  • display_namestringobligatoire
  • providerstringobligatoire

    enum: "gmail", "smtp"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatoire

    enum: "domain", "starter"

  • oneOf 2null

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-lanes' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/sending-lanes

createEmailLane

Préparez uniquement le canal demandé sur son nom d’hôte exact. Revérifie les conflits DNS sous verrou d’infrastructure. Les canaux identiques existants sont réutilisés ; les noms d’hôte occupés ne sont jamais écrasés. Aucun changement DNS ni canal supplémentaire n’est créé.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • domainstringobligatoire

    Domaine parent de l’entreprise, comme example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobligatoire

    Domaine racine ou sous-domaine exact à configurer, comme example.com ou news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobligatoire

    Mail est la boîte mail. Il envoie et reçoit ; Produit et Campagne sont des canaux d’envoi dédiés facultatifs.

    enum: "mailbox", "product", "broadcast"

  • root_dmarc_confirmedboolean

    Champ de compatibilité hérité ; la configuration conserve les politiques e-mail existantes et ne nécessite aucune confirmation.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Réponse réussie 200

Même canal configuré renvoyé de manière idempotente.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-lanes' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain": "example",
  "from_domain": "example",
  "lane": "mailbox",
  "root_dmarc_confirmed": true,
  "route_providers": {
    "product": "banger",
    "broadcast": "banger"
  },
  "route_domains": {
    "product": "example",
    "broadcast": "example"
  }
}'
POST/v1/workspaces/{workspaceId}/sending-lanes/plan

planEmailLane

Précontrôle de disponibilité et DNS en lecture seule. Ne crée aucune ressource. Les seuls enregistrements de site web n’occupent pas un nom d’hôte e-mail. Renvoie la configuration existante et les conflits sur les noms que Banger doit changer. L’authentification d’envoi et les politiques DMARC existantes sont conservées.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • domainstringobligatoire

    Domaine parent de l’entreprise, comme example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobligatoire

    Domaine racine ou sous-domaine exact à configurer, comme example.com ou news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobligatoire

    Mail est la boîte mail. Il envoie et reçoit ; Produit et Campagne sont des canaux d’envoi dédiés facultatifs.

    enum: "mailbox", "product", "broadcast"

  • root_dmarc_confirmedboolean

    Champ de compatibilité hérité ; la configuration conserve les politiques e-mail existantes et ne nécessite aucune confirmation.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Réponse réussie 200

Plan de configuration du canal.

application/json

  • valueobject
  • dataobjectobligatoire
  • statusstringobligatoire

    enum: "available", "existing", "occupied", "migration_required"

  • from_domainstringobligatoire
  • lanestringobligatoire

    enum: "mailbox", "product", "broadcast"

  • domain_idstring | nullobligatoire
  • lane_idstring | nullobligatoire
  • messagestringobligatoire
  • requires_root_confirmationbooleanobligatoire

    Toujours false ; les politiques e-mail existantes sont conservées.

  • existing_dnsarrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire
  • typestringobligatoire
  • valuestringobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-lanes/plan' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain": "example",
  "from_domain": "example",
  "lane": "mailbox",
  "root_dmarc_confirmed": true,
  "route_providers": {
    "product": "banger",
    "broadcast": "banger"
  },
  "route_domains": {
    "product": "example",
    "broadcast": "example"
  }
}'
POST/v1/workspaces/{workspaceId}/sending-lanes/migrations

requestEmailLaneMigration

Demandez la validation humaine de migration existante pour ce seul canal. Seul un administrateur connecté peut l’autoriser dans Approbations.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatoire

Produit opérationnel explicite ; doit correspondre aux identifiants OAuth limités au produit.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • domainstringobligatoire

    Domaine parent de l’entreprise, comme example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobligatoire

    Domaine racine ou sous-domaine exact à configurer, comme example.com ou news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobligatoire

    Mail est la boîte mail. Il envoie et reçoit ; Produit et Campagne sont des canaux d’envoi dédiés facultatifs.

    enum: "mailbox", "product", "broadcast"

  • root_dmarc_confirmedboolean

    Champ de compatibilité hérité ; la configuration conserve les politiques e-mail existantes et ne nécessite aucune confirmation.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Réponse réussie 200

Validation de migration existante renvoyée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-lanes/migrations' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain": "example",
  "from_domain": "example",
  "lane": "mailbox",
  "root_dmarc_confirmed": true,
  "route_providers": {
    "product": "banger",
    "broadcast": "banger"
  },
  "route_domains": {
    "product": "example",
    "broadcast": "example"
  }
}'

Modèles de départ

GET/v1/workspaces/{workspaceId}/starters

listStarters

Mises en page de départ rendues aux couleurs du produit, chacune avec un brief (tâche, moment d’envoi, métrique, mécanisme, objets à tester), slots et contenu par défaut. Les listes sont compactes et utilisent par défaut le type d’activité du produit ; demandez un modèle par id pour son body_html.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

id
query

Un modèle de départ ; inclut body_html.

  • valuestring
business
query
  • valuestring

    enum: "all", "saas", "shop", "creator", "services", "local", "community"

stage
query
  • valuestring

    enum: "onboarding", "activation", "revenue", "retention", "publish", "account"

category
query
  • valuestring

    enum: "product", "lifecycle", "broadcast"

include_html
query
  • valueboolean
style
query

Style visuel ; email_style de la marque par défaut.

  • valuestring

    enum: "brand", "clarity", "editorial", "luxe", "material", "playful", "bold", "plain"

locale
query

Langue des textes intégrés et libellés de galerie ; en-US par défaut.

  • valuestring

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • versionintegerobligatoire
  • categorystringobligatoire
  • message_kindstringobligatoire
  • familystringobligatoire
  • stagestringobligatoire
  • businessesarrayobligatoire
  • Chaque élémentstring
  • namestringobligatoire
  • descriptionstringobligatoire
  • subjectstringobligatoire
  • body_textstringobligatoire
  • briefobjectobligatoire
  • jobstringobligatoire
  • send_whenstringobligatoire
  • metricstringobligatoire
  • mechanicstringobligatoire
  • subject_variantsarrayobligatoire
  • Chaque élémentstring
  • keeparray
  • Chaque élémentstring
  • avoidarray
  • Chaque élémentstring
  • imageryobject
  • defaultstringobligatoire
  • slotstring
  • photo_ideastring
  • slotsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    pattern: "^[A-Za-z0-9_$.-]{1,200}$"

  • labelstring

    maxLength: 120

  • typestring

    enum: "text", "paragraph", "url", "image"

  • helpstring

    maxLength: 300

  • contentobjectobligatoire
  • Propriété supplémentairestring
  • body_htmlstring
  • businessstringobligatoire
  • stylestringobligatoire
  • businessesarrayobligatoire
  • Chaque élémentobject
  • keystring
  • labelstring
  • hintstring
  • stagesarrayobligatoire
  • Chaque élémentobject
  • keystring
  • labelstring
  • stylesarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire
  • labelstringobligatoire
  • descriptionstringobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/starters?id=example&business=all&stage=onboarding&category=product&include_html=true&style=brand&locale=example' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Assistance

POST/v1/workspaces/{workspaceId}/support/messages

Envoyer un message à l’assistance Banger

Envoie le message à support@team.bangermail.com avec Reply-To défini sur l’adresse vérifiée de la personne connectée (personne d’une autorisation OAuth, ou propriétaire de l’espace pour une clé API statique). L’espace de travail, le rôle et le forfait sont joints. Dix messages par jour et par personne.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • messagestringobligatoire

    minLength: 1 · maxLength: 5000

  • contextobject

    Ce que le client sait de l’endroit où se trouvait la personne. Tous les champs sont facultatifs et leurs espaces périphériques sont retirés.

  • surfacestring

    maxLength: 120

  • app_releasestring

    maxLength: 64

  • browserstring

    maxLength: 300

  • localestring

    maxLength: 35

  • recent_errorsarray

    maxItems: 5

  • Chaque élémentstring

    maxLength: 300

Réponse réussie 201

Message envoyé à l’assistance.

application/json

  • valueobject
  • dataobject
  • statusstringobligatoire

    enum: "sent"

  • reply_tostringobligatoire

    format: "email"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/support/messages' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "message": "example",
  "context": {
    "surface": "example",
    "app_release": "example",
    "browser": "example",
    "locale": "example",
    "recent_errors": [
      "example"
    ]
  }
}'

Exclusions

GET/v1/workspaces/{workspaceId}/suppressions

listSuppressions

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • email_hashstringobligatoire
  • reasonstringobligatoire

    enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring | nullobligatoire
  • created_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/suppressions' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/suppressions

createSuppression

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • emailstringobligatoire

    minLength: 3 · maxLength: 320

  • reasonstring

    default: "manual" · enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring

    maxLength: 500

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • email_hashstringobligatoire
  • reasonstringobligatoire

    enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring | nullobligatoire
  • created_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/suppressions' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "email": "example",
  "reason": "manual",
  "source_id": "example"
}'
DELETE/v1/workspaces/{workspaceId}/suppressions/{emailHash}

deleteSuppression

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

emailHash
path · obligatoire
  • valuestring

    pattern: "^[0-9a-f]{64}$"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Exclusion retirée.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/suppressions/{emailHash}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Données d’écran

GET/v1/workspaces/{workspaceId}/surface-data/{surface}

Chargez un écran produit via une transaction de base de données autorisée.

Renvoie les données bornées du premier affichage d’un écran produit. La requête valide l’appartenance à l’espace et le produit sélectionné dans la même transaction isolée par locataire que les requêtes du point de terminaison. L’écran webhooks inclut event_definitions (noms de déclencheurs et objectifs de Parcours, y compris brouillons), event_stats (décomptes des reçus entrants enregistrés) et receipts (plus récents d’abord, jusqu’à 51 lignes). Les clients affichent 50 reçus et utilisent la ligne supplémentaire pour détecter une autre page. Les webhooks entrants incluent public_url ; les identifiants sont récupérés séparément. Les métadonnées des reçus ne contiennent ni payloads bruts ni étiquette historique test/production. outgoing_event_types contient le catalogue fixe d’événements automatiques Banger et l’événement manuel webhook.test, indépendamment des points de terminaison configurés.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

surface
path · obligatoire
  • valuestring

    enum: "home", "product", "broadcasts", "audience", "domains", "mailboxes", "journeys", "deliverability", "api_keys", "webhooks", "approvals", "connections", "logs"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

webhook_id
query

Sur l’écran webhooks, limitez l’historique des reçus et les livraisons sortantes à ce point de terminaison.

  • valuestring

    format: "uuid"

event_type
query

Sur l’écran webhooks, filtrez les reçus entrants par nom exact d’événement. Les définitions du catalogue et totaux restent à l’échelle du produit.

  • valuestring

    maxLength: 120

receipt_before
query

Curseur de reçus entrants, objet JSON avec receivedAt, endpointId et eventId de la dernière ligne affichée. Conservez receivedAt tel quel pour garder la précision sous la milliseconde. Encodez la valeur JSON pour URL.

  • valuestring

    maxLength: 4096

mailbox_id
query
  • valuestring

    format: "uuid"

approval_id
query
  • valuestring

    format: "uuid"

label_id
query
  • valuestring

    format: "uuid"

view
query
  • valuestring

    enum: "inbox", "sent", "drafts", "archive", "trash", "spam", "all"

since
query
  • valuestring

    format: "date-time"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Données d’écran du premier affichage dans la portée produit.

application/json

  • valueobject
  • dataobjectobligatoire

    Agrégat propre à l’écran sélectionné par surface et paramètres de requête. Les clés et projections de ressources imbriquées varient par écran (home, product, broadcasts, audience, domains, mailboxes, journeys, deliverability, api_keys, webhooks, approvals, connections, logs).

  • Propriété supplémentaireToute valeur

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/surface-data/{surface}?limit=50&webhook_id=00000000-0000-4000-8000-000000000001&event_type=example&receipt_before=example&mailbox_id=00000000-0000-4000-8000-000000000001&approval_id=00000000-0000-4000-8000-000000000001&label_id=00000000-0000-4000-8000-000000000001&view=inbox&since=2026-01-01T00%3A00%3A00Z' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Actions Triage

GET/v1/workspaces/{workspaceId}/triage-actions

listTriageActions

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

thread_id
query
  • valuestring

    format: "uuid"

rule_id
query
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • thread_idstringobligatoire

    format: "uuid"

  • rule_idstringobligatoire

    format: "uuid"

  • rule_namestringobligatoire
  • auto_set_for_label_idstring | nullobligatoire

    format: "uuid"

  • actionstringobligatoire
  • label_idstring | nullobligatoire

    format: "uuid"

  • label_namestring | nullobligatoire
  • label_emojistring | nullobligatoire
  • thread_subjectstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • undone_atstring | nullobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-actions?mailbox_id=00000000-0000-4000-8000-000000000001&thread_id=00000000-0000-4000-8000-000000000001&rule_id=00000000-0000-4000-8000-000000000001&limit=50' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/triage-actions/{actionId}/undo

undoTriageAction

Annulez une action Triage. Par défaut, apprend aussi à sa règle que l’e-mail ne correspond pas ; définissez teach_rule à false pour une annulation ordinaire.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

actionId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • teach_ruleboolean

    Apprend aussi à la règle que cet e-mail ne correspond pas. False annule l’action sans retour.

    default: true

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • undonebooleanobligatoire

    const: true

  • command_idstring | nullobligatoire

    format: "uuid"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-actions/{actionId}/undo' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "teach_rule": true
}'

Règles Triage

GET/v1/workspaces/{workspaceId}/triage-rules

listTriageRules

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • auto_set_for_label_idstring | nullobligatoire

    format: "uuid"

  • descriptionstring | nullobligatoire
  • exact_conditionsobjectobligatoire

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • actionsarrayobligatoire
  • Chaque élémentobject
  • typestringobligatoire

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobligatoire
  • versionintegerobligatoire
  • error_codestring | nullobligatoire
  • example_countintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules?mailbox_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/triage-rules

createTriageRule

Créez une règle Triage pour le courrier entrant (tous les forfaits ; les règles actives comptent dans le quota). When = description (évaluée par Jev) et/ou exact_conditions et/ou has_label_ids ; Then = actions.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header

Clé facultative de nouvelle tentative, appliquée lorsqu’un produit est sélectionné.

  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valuenon précisé
  • allOf 1object
  • namestring

    maxLength: 120

  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Chaque élémentstring

    format: "uuid"

  • actionsarray

    minItems: 1 · maxItems: 8

  • Chaque élémentobject
  • typestringobligatoire

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledboolean
  • allOf 2object
  • mailbox_idstringobligatoire

    format: "uuid"

Réponse réussie 201

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • auto_set_for_label_idstring | nullobligatoire

    format: "uuid"

  • descriptionstring | nullobligatoire
  • exact_conditionsobjectobligatoire

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • actionsarrayobligatoire
  • Chaque élémentobject
  • typestringobligatoire

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobligatoire
  • versionintegerobligatoire
  • error_codestring | nullobligatoire
  • example_countintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "description": "example",
  "exact_conditions": {
    "from": [
      "example"
    ],
    "to": [
      "example"
    ],
    "subject_contains": [
      "example"
    ],
    "has_words": [
      "example"
    ],
    "excludes_words": [
      "example"
    ],
    "has_attachment": true
  },
  "has_label_ids": [
    "00000000-0000-4000-8000-000000000001"
  ],
  "actions": [
    {
      "type": "apply_label",
      "label_id": "00000000-0000-4000-8000-000000000001"
    }
  ],
  "enabled": true,
  "mailbox_id": "00000000-0000-4000-8000-000000000001"
}'
POST/v1/workspaces/{workspaceId}/triage-rules/preview

previewTriageRule

Conversations récentes auxquelles un When correspondrait. Lecture seule ; aucun score renvoyé.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • mailbox_idstringobligatoire

    format: "uuid"

  • rule_idstring

    format: "uuid"

  • descriptionstring

    maxLength: 2000

  • exact_conditionsobject

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Chaque élémentstring

    format: "uuid"

  • limitinteger

    minimum: 1 · maximum: 200

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • scannedintegerobligatoire
  • matchesarrayobligatoire
  • Chaque élémentobject
  • thread_idstringobligatoire

    format: "uuid"

  • subjectstringobligatoire
  • fromstring
  • received_atstring

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/preview' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "rule_id": "00000000-0000-4000-8000-000000000001",
  "description": "example",
  "exact_conditions": {
    "from": [
      "example"
    ],
    "to": [
      "example"
    ],
    "subject_contains": [
      "example"
    ],
    "has_words": [
      "example"
    ],
    "excludes_words": [
      "example"
    ],
    "has_attachment": true
  },
  "has_label_ids": [
    "00000000-0000-4000-8000-000000000001"
  ],
  "limit": 1
}'
POST/v1/workspaces/{workspaceId}/triage-rules/run-past-mail

runTriageOnPastMail

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • mailbox_idstringobligatoire

    format: "uuid"

  • rule_idsarray

    maxItems: 50

  • Chaque élémentstring

    format: "uuid"

  • daysinteger

    minimum: 1 · maximum: 90

  • include_other_actionsboolean

    Archiver aussi

Réponse réussie 202

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • queued_threadsintegerobligatoire
  • daysintegerobligatoire
  • labels_onlybooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/run-past-mail' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mailbox_id": "00000000-0000-4000-8000-000000000001",
  "rule_ids": [
    "00000000-0000-4000-8000-000000000001"
  ],
  "days": 1,
  "include_other_actions": true
}'
GET/v1/workspaces/{workspaceId}/triage-rules/{ruleId}

getTriageRule

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

ruleId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • auto_set_for_label_idstring | nullobligatoire

    format: "uuid"

  • descriptionstring | nullobligatoire
  • exact_conditionsobjectobligatoire

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • actionsarrayobligatoire
  • Chaque élémentobject
  • typestringobligatoire

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobligatoire
  • versionintegerobligatoire
  • error_codestring | nullobligatoire
  • example_countintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/{ruleId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/triage-rules/{ruleId}

updateTriageRule

La règle automatique d’un libellé ne peut être modifiée que via updateLabel.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

ruleId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header

Clé facultative de nouvelle tentative, appliquée lorsqu’un produit est sélectionné.

  • valuestring

    minLength: 1 · maxLength: 256

Corps de la requête obligatoire

application/json

  • valueobject
  • namestring

    maxLength: 120

  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Chaque élémentstring

    format: "uuid"

  • actionsarray

    minItems: 1 · maxItems: 8

  • Chaque élémentobject
  • typestringobligatoire

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledboolean

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • auto_set_for_label_idstring | nullobligatoire

    format: "uuid"

  • descriptionstring | nullobligatoire
  • exact_conditionsobjectobligatoire

    Aucune propriété supplémentaire

  • fromarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • toarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Chaque élémentstring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobligatoire
  • Chaque élémentstring

    format: "uuid"

  • actionsarrayobligatoire
  • Chaque élémentobject
  • typestringobligatoire

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobligatoire
  • versionintegerobligatoire
  • error_codestring | nullobligatoire
  • example_countintegerobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/{ruleId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: example' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "description": "example",
  "exact_conditions": {
    "from": [
      "example"
    ],
    "to": [
      "example"
    ],
    "subject_contains": [
      "example"
    ],
    "has_words": [
      "example"
    ],
    "excludes_words": [
      "example"
    ],
    "has_attachment": true
  },
  "has_label_ids": [
    "00000000-0000-4000-8000-000000000001"
  ],
  "actions": [
    {
      "type": "apply_label",
      "label_id": "00000000-0000-4000-8000-000000000001"
    }
  ],
  "enabled": true
}'
DELETE/v1/workspaces/{workspaceId}/triage-rules/{ruleId}

deleteTriageRule

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

ruleId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Règle Triage supprimée.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/{ruleId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Utilisation de Triage

GET/v1/workspaces/{workspaceId}/triage-usage

getTriageUsage

Utilisation de Triage par l’espace de travail ce mois calendaire UTC par rapport aux quotas du forfait, date de remise à zéro et forfait le moins cher vérifiant davantage d’e-mails. Au-delà du quota mensuel, le nouveau courrier reste non trié jusqu’à la remise à zéro.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • unlimitedbooleanobligatoire

    Les deux quotas sont levés pour cet espace de travail.

  • rule_limitintegerobligatoire

    Règles Triage et automatiques actives autorisées simultanément.

  • rules_enabledintegerobligatoire
  • run_limitintegerobligatoire

    E-mails vérifiés par Triage par mois calendaire UTC.

  • runs_this_monthintegerobligatoire
  • resets_atstringobligatoire

    Premier instant du prochain mois calendaire UTC.

    format: "date-time"

  • plan_keystringobligatoire

    Forfait actuel de l’espace de travail ; gratuit s’il n’en a aucun.

  • next_plannon préciséobligatoire

    Forfait le moins cher au-dessus de l’actuel vérifiant davantage d’e-mails par mois ; null si aucun ou illimité.

  • oneOf 1null
  • oneOf 2object
  • plan_keystringobligatoire
  • labelstringobligatoire
  • monthly_price_usdnumberobligatoire

    Prix mensuel affiché (facturation annuelle / 12).

  • triage_run_limitintegerobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-usage' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Travail

GET/v1/workspaces/{workspaceId}/work

listWork

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

status
query
  • valuestring

    default: "open" · enum: "open", "waiting", "done"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Éléments de Travail de tout l’espace de travail.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • threadobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • subjectstringobligatoire
  • snippetstringobligatoire
  • last_message_atstringobligatoire

    format: "date-time"

  • message_countintegerobligatoire
  • unread_countintegerobligatoire
  • is_archivedbooleanobligatoire
  • is_trashbooleanobligatoire
  • is_spambooleanobligatoire
  • is_starredbooleanobligatoire
  • is_sentbooleanobligatoire
  • has_attachmentsbooleanobligatoire
  • labelsarrayobligatoire
  • Chaque élémentstring
  • participantsarray
  • Chaque élémentobject
  • namestring

    Imbrications supplémentaires omises

  • emailstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "open", "waiting", "done"

  • priorityintegerobligatoire
  • assignee_identity_idstring
  • updated_atstringobligatoire

    format: "date-time"

  • pageobjectobligatoire
  • next_cursorstring
  • has_morebooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/work?cursor=example&limit=50&status=open' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Connexions

GET/v1/workspaces/{workspaceId}/connections

Listez les connexions de données produit et métier gérées par Banger.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Métadonnées et capacités de connexion. Les identifiants ne sont jamais renvoyés.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • adapter_keystringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobligatoire
  • statusstringobligatoire

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobligatoire

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobligatoire

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentaireToute valeur
  • configobjectobligatoire

    Configuration non secrète de l’adaptateur, comme hôte cloud et ID de projet.

  • Propriété supplémentaireToute valeur
  • active_credential_versioninteger | null
  • external_account_idstring | null
  • external_account_namestring | null
  • last_validated_atstring | null

    format: "date-time"

  • last_success_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/connections/adapters/{adapterKey}

Validez et chiffrez une connexion source gérée par Banger.

Connecter Mailchimp démarre immédiatement la migration depuis Mailchimp (comme startMailchimpMigration), et la réponse contient son premier rapport dans `mailchimp_migration`. Sans display_name, une connexion Mailchimp prend le nom du compte, par exemple "Mailchimp (Acme Inc)". Connecter un compte Mailchimp déjà connecté répond 409 `mailchimp_account_already_connected` avec `error.details.connection_id`.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

adapterKey
path · obligatoire
  • valuestring

    enum: "anthropic", "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "openai", "slack", "snowflake", "zendesk"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • api_keystringobligatoire

    Clé API ou JSON de compte de service fournisseur.

    minLength: 12 · maxLength: 10000

  • display_namestring

    maxLength: 100

  • configobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Répétition idempotente d’une demande de connexion existante.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • adapter_keystringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobligatoire
  • statusstringobligatoire

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobligatoire

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobligatoire

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentaireToute valeur
  • configobjectobligatoire

    Configuration non secrète de l’adaptateur, comme hôte cloud et ID de projet.

  • Propriété supplémentaireToute valeur
  • active_credential_versioninteger | null
  • external_account_idstring | null
  • external_account_namestring | null
  • last_validated_atstring | null

    format: "date-time"

  • last_success_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • mailchimp_migrationobject

    Migration d’une connexion Mailchimp vers un produit. Interrogez GET /mailchimp-migration pour suivre la progression en direct : `phase` indique l’étape ; `counts`, `audiences`, `segments`, `templates` et `campaigns` augmentent au fil du processus.

  • migration_idstringobligatoire

    format: "uuid"

  • connection_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "importing", "completed"

  • phasestringobligatoire

    importing (reading Mailchimp), copying_designs (templates and campaigns), finishing, completed, needs_new_key (Mailchimp rejected the API key; the move is paused until a new key is saved with rotateConnectionCredential), or disconnected (the connection was removed; everything already moved stays in Banger and the counts stay readable).

    enum: "importing", "copying_designs", "finishing", "completed", "needs_new_key", "disconnected"

  • started_atstringobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • connectionobjectobligatoire
  • display_namestringobligatoire
  • account_namestring | nullobligatoire
  • statusstringobligatoire

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobligatoire
  • needs_new_keybooleanobligatoire
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobligatoire
  • import_streamsintegerobligatoire
  • import_streams_doneintegerobligatoire
  • failing_streamsarrayobligatoire
  • Chaque élémentobject
  • streamstringobligatoire
  • refstringobligatoire
  • error_codestring | nullobligatoire
  • designs_waitingintegerobligatoire
  • notestringobligatoire
  • countsobjectobligatoire
  • contactsintegerobligatoire
  • subscribedintegerobligatoire
  • unsubscribedintegerobligatoire
  • bouncedintegerobligatoire
  • contact_listsintegerobligatoire
  • contact_fieldsintegerobligatoire
  • segments_convertedintegerobligatoire
  • segments_kept_as_listsintegerobligatoire
  • templates_importedintegerobligatoire
  • templates_to_rebuildintegerobligatoire
  • campaigns_imported_as_designsintegerobligatoire
  • automations_importedintegerobligatoire
  • audiencesarrayobligatoire
  • Chaque élémentobject
  • mailchimp_idstringobligatoire
  • namestringobligatoire
  • list_idstring | nullobligatoire

    format: "uuid"

  • list_namestring | nullobligatoire
  • members_in_bangerintegerobligatoire
  • subscribedintegerobligatoire
  • unsubscribedintegerobligatoire
  • bouncedintegerobligatoire
  • members_in_mailchimpintegerobligatoire
  • contact_fieldsarrayobligatoire
  • Chaque élémentobject
  • mailchimp_tagstringobligatoire
  • namestringobligatoire
  • field_keystringobligatoire
  • typestringobligatoire

    enum: "text", "number", "boolean", "date", "choice", "choices"

  • consentstringobligatoire
  • segmentsarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring
  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring
  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject
  • keystringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • templatesarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring
  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring
  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject
  • keystringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • campaignsarrayobligatoire
  • Chaque élémentobject

    Ce qu’est devenu un segment, modèle ou campagne Mailchimp.

  • mailchimp_idstringobligatoire

    Segments : <audience id>:<segment id>. Modèles et campagnes : leur ID Mailchimp.

  • becamestringobligatoire

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Le segment Banger

    format: "uuid"

  • namestringobligatoire
  • reasonstring

    Pourquoi un segment est resté une liste statique

  • dropped_merge_tagsarray

    Balises de fusion Mailchimp sans équivalent Banger, retirées du design (les conditions sur les champs de fusion conservent leur première branche et sont listées ici).

  • Chaque élémentstring
  • replaced_footerboolean

    Le pied de page Mailchimp (voir dans le navigateur, préférences, adresse, badge) est devenu le pied de marque du produit.

  • removed_linksarray

    Liens vers des pages propres à Mailchimp hors du pied de page (comme voir dans le navigateur) retirés, identifiés par leur texte.

  • Chaque élémentstring
  • links_to_fillarray

    Liens laissés vides dans Mailchimp ; chacun est désormais un slot URL du design à remplir avant l’envoi.

  • Chaque élémentobject
  • keystringobligatoire

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • kept_editsboolean

    Une nouvelle exécution a trouvé le design modifié dans Banger et l’a laissé tel quel.

  • automationsobjectobligatoire
  • importedbooleanobligatoire

    const: false

  • whystringobligatoire
  • next_stepsarrayobligatoire
  • Chaque élémentstring
  • help_call_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/adapters/{adapterKey}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "api_key": "examplexxxxx",
  "display_name": "example",
  "config": {}
}'
DELETE/v1/workspaces/{workspaceId}/connections/{connectionId}

disableConnection

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

connectionId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Connexion, identifiant, état de synchronisation et autorisations révoqués.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx'
POST/v1/workspaces/{workspaceId}/connections/{connectionId}/validate

Revalidez l’identifiant actif et actualisez les métadonnées du compte.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

connectionId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

L’identifiant de connexion est valide.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • adapter_keystringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobligatoire
  • statusstringobligatoire

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobligatoire

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobligatoire

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentaireToute valeur
  • configobjectobligatoire

    Configuration non secrète de l’adaptateur, comme hôte cloud et ID de projet.

  • Propriété supplémentaireToute valeur
  • active_credential_versioninteger | null
  • external_account_idstring | null
  • external_account_namestring | null
  • last_validated_atstring | null

    format: "date-time"

  • last_success_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/validate' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/connections/{connectionId}/credential

Validez et renouvelez atomiquement un identifiant de connexion gérée.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

connectionId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • api_keystringobligatoire

    Clé API ou JSON de compte de service fournisseur.

    minLength: 12 · maxLength: 10000

  • display_namestring

    maxLength: 100

  • configobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Répétition idempotente d’un renouvellement antérieur.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • adapter_keystringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobligatoire
  • statusstringobligatoire

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobligatoire

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobligatoire

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentaireToute valeur
  • configobjectobligatoire

    Configuration non secrète de l’adaptateur, comme hôte cloud et ID de projet.

  • Propriété supplémentaireToute valeur
  • active_credential_versioninteger | null
  • external_account_idstring | null
  • external_account_namestring | null
  • last_validated_atstring | null

    format: "date-time"

  • last_success_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/credential' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "api_key": "examplexxxxx",
  "display_name": "example",
  "config": {}
}'
POST/v1/workspaces/{workspaceId}/connections/{connectionId}/query

Exécutez une lecture typée et bornée sur une connexion gérée par Banger.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

connectionId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • adapter_keystringobligatoire

    enum: "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "slack", "snowflake", "zendesk"

  • operationstringobligatoire

    enum: "audiences.list", "blocks.children.list", "campaigns.list", "changelog.brief", "channels.list", "comments.list", "commits.list", "companies.list", "contacts.list", "cohorts.list", "customer.brief", "customers.list", "deals.list", "events.list", "file.summary", "funnels.list", "images.render", "invoices.list", "issues.list", "launch.brief", "messages.history", "messages.search", "nodes.get", "notifications.list", "pages.retrieve", "payment_intents.list", "persons.list", "profiles.list", "queries.execute", "queries.list", "releases.list", "reports.list", "reports.run", "repositories.list", "search.list", "subscriptions.list"

  • parametersobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Réponse authentifiée et typée de la source connectée.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • adapter_keystringobligatoire

    enum: "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "slack", "snowflake", "zendesk"

  • operationstringobligatoire
  • capabilitystringobligatoire
  • sourceobjectobligatoire

    Aucune propriété supplémentaire

  • external_account_idstringobligatoire
  • external_account_namestringobligatoire
  • fetched_atstringobligatoire

    format: "date-time"

  • freshnessstringobligatoire

    const: "live"

  • dataobjectobligatoire
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/query' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "adapter_key": "figma",
  "operation": "audiences.list",
  "parameters": {}
}'
GET/v1/workspaces/{workspaceId}/connections/{connectionId}/grants

listConnectionGrants

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

connectionId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Autorisations actives pour la connexion.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • connection_idstringobligatoire

    format: "uuid"

  • principal_kindstringobligatoire

    enum: "agent", "automation", "api_key"

  • principal_idstringobligatoire
  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentaireToute valeur
  • created_by_actor_idstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • expires_atstring | null

    format: "date-time"

  • revoked_atstring | null

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/grants' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}

grantConnectionAccess

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

connectionId
path · obligatoire
  • valuestring

    format: "uuid"

principalKind
path · obligatoire
  • valuestring

    enum: "agent", "automation", "api_key"

principalId
path · obligatoire
  • valuestring

    minLength: 1 · maxLength: 200

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • capabilitiesarrayobligatoire

    minItems: 1 · uniqueItems: true

  • Chaque élémentstring
  • resource_scopeobject
  • Propriété supplémentaireToute valeur
  • expires_atstring

    format: "date-time"

Réponse réussie 200

Accès à la connexion accordé ou remplacé.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • connection_idstringobligatoire

    format: "uuid"

  • principal_kindstringobligatoire

    enum: "agent", "automation", "api_key"

  • principal_idstringobligatoire
  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentaireToute valeur
  • created_by_actor_idstringobligatoire
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • expires_atstring | null

    format: "date-time"

  • revoked_atstring | null

    format: "date-time"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "capabilities": [
    "example"
  ],
  "resource_scope": {},
  "expires_at": "2026-01-01T00:00:00Z"
}'
DELETE/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}

revokeConnectionAccess

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

connectionId
path · obligatoire
  • valuestring

    format: "uuid"

principalKind
path · obligatoire
  • valuestring

    enum: "agent", "automation", "api_key"

principalId
path · obligatoire
  • valuestring

    minLength: 1 · maxLength: 200

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Autorisation de connexion révoquée.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Fournisseurs

POST/v1/workspaces/{workspaceId}/providers/google/oauth/session

Démarrez une connexion de boîte mail Gmail protégée par PKCE pour cet espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

URL d’autorisation Gmail et contrat d’interrogation périodique.

application/json

  • valueobject
  • sessionobjectobligatoire

    Aucune propriété supplémentaire

  • sessionIdstringobligatoire

    format: "uuid"

  • authUrlstringobligatoire

    format: "uri"

  • expiresAtintegerobligatoire

    format: "int64"

  • pollIntervalMsintegerobligatoire

    minimum: 250

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/providers/google/oauth/session' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/providers/google/oauth/sessions/{sessionId}

Interrogez une session d’autorisation Gmail dans les limites de son espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

sessionId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État actuel d’autorisation Gmail.

application/json

  • valueobject
  • sessionobjectobligatoire

    Aucune propriété supplémentaire

  • statusstringobligatoire

    enum: "pending", "complete", "error", "expired"

  • mailboxIdstring | nullobligatoire

    format: "uuid"

  • emailstring | nullobligatoire

    format: "email"

  • errorstring | nullobligatoire
  • expiresAtintegerobligatoire

    format: "int64"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/providers/google/oauth/sessions/{sessionId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Connexions aux fournisseurs

GET/v1/workspaces/{workspaceId}/provider-connections

listProviderConnections

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Métadonnées de connexion fournisseur. Les identifiants ne sont jamais renvoyés.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • kindstringobligatoire
  • ownershipstringobligatoire

    enum: "customer", "banger"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • display_namestringobligatoire
  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobligatoire
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • verified_domainsarray
  • Chaque élémentstring

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/provider-connections' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/provider-connections/resend

createResendProviderConnection

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • api_keystringobligatoire

    minLength: 16 · maxLength: 500

  • display_namestring

    maxLength: 100

Réponse réussie 200

Répétition idempotente de la connexion Resend créée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • kindstringobligatoire
  • ownershipstringobligatoire

    enum: "customer", "banger"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • display_namestringobligatoire
  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobligatoire
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • verified_domainsarray
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/provider-connections/resend' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "api_key": "examplexxxxxxxxx",
  "display_name": "example"
}'
PUT/v1/workspaces/{workspaceId}/provider-connections/{providerConnectionId}/credential

rotateResendProviderCredential

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

providerConnectionId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • api_keystringobligatoire

    minLength: 16 · maxLength: 500

  • display_namestring

    maxLength: 100

Réponse réussie 200

Identifiant Resend renouvelé.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • kindstringobligatoire
  • ownershipstringobligatoire

    enum: "customer", "banger"

  • statusstringobligatoire

    enum: "pending", "active", "suspended", "reconnect_required", "disabled"

  • display_namestringobligatoire
  • capabilitiesarrayobligatoire
  • Chaque élémentstring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobligatoire
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • verified_domainsarray
  • Chaque élémentstring

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/provider-connections/{providerConnectionId}/credential' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "api_key": "examplexxxxxxxxx",
  "display_name": "example"
}'
DELETE/v1/workspaces/{workspaceId}/provider-connections/{providerConnectionId}

disableProviderConnection

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

providerConnectionId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Connexion fournisseur et identifiant actif révoqués.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/provider-connections/{providerConnectionId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx'

Domaines d’envoi

GET/v1/workspaces/{workspaceId}/sending-domains

listNativeSendingDomains

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Domaines d’envoi natifs Banger de l’espace de travail.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/sending-domains

createNativeSendingDomain

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • domainstringobligatoire

    Domaine ou sous-domaine exact du produit. Par défaut, Banger dérive trois sous-domaines de canal distincts.

    minLength: 3 · maxLength: 253

  • setup_modestring

    Simple provisionne un transport de boîte mail pour recevoir et envoyer depuis les adresses sélectionnées, y compris Campagnes et Parcours. Advanced provisionne des canaux d’envoi séparés.

    default: "advanced" · enum: "simple", "advanced"

  • mailbox_modestring

    La configuration Simple utilise la racine par défaut sans préfixe de boîte mail ; advanced utilise un sous-domaine. Subdomain conserve le courrier existant du domaine. Migrate demande des Boîtes mail sur le domaine exact. Un domaine exact ou canal occupé nécessite une demande via sending-domain-migrations puis une autorisation dans le panneau Approbations Banger connecté. Les identifiants d’agents ne peuvent pas autoriser la migration. Aucun ancien message n’est importé et le DNS n’est jamais modifié automatiquement.

    enum: "subdomain", "migrate"

  • root_dmarc_confirmedboolean

    Champ de compatibilité hérité ; les politiques existantes sont conservées et la configuration ne nécessite aucune confirmation.

  • lane_prefixesobject

    Aucune propriété supplémentaire

  • mailboxstring

    minLength: 1 · maxLength: 63 · default: "mail"

  • productstring

    minLength: 1 · maxLength: 63 · default: "tx"

  • broadcaststring

    minLength: 1 · maxLength: 63 · default: "broadcast"

  • route_providersobject

    Resend est accepté uniquement si Banger l’a déjà détecté dans le DNS de ce domaine et si le produit sélectionné a une connexion active. Les clients ne doivent jamais le proposer autrement.

    Aucune propriété supplémentaire

  • productstring

    default: "banger" · enum: "banger", "resend"

  • broadcaststring

    default: "banger" · enum: "banger", "resend"

  • route_domainsobject

    Domaines vérifiés exacts synchronisés depuis Resend. Requis pour chaque canal conservant Resend.

    Aucune propriété supplémentaire

  • productstring

    minLength: 3 · maxLength: 253

  • broadcaststring

    minLength: 3 · maxLength: 253

Réponse réussie 200

Répétition idempotente d’une demande de domaine d’envoi natif Banger.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain": "example",
  "setup_mode": "advanced",
  "mailbox_mode": "subdomain",
  "root_dmarc_confirmed": true,
  "lane_prefixes": {
    "mailbox": "mail",
    "product": "tx",
    "broadcast": "broadcast"
  },
  "route_providers": {
    "product": "banger",
    "broadcast": "banger"
  },
  "route_domains": {
    "product": "example",
    "broadcast": "example"
  }
}'
GET/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}

getNativeSendingDomain

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État actuel du domaine, flux, provisionnement et DNS requis.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
DELETE/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}

deleteNativeSendingDomain

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • confirm_domainstringobligatoire

    Doit correspondre exactement au domaine racine supprimé.

    minLength: 3 · maxLength: 253

Réponse réussie 202

L’envoi et la réception sont arrêtés et le démantèlement idempotent du fournisseur est mis en file. L’historique mail et les journaux d’audit sont conservés.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "confirm_domain": "example"
}'
DELETE/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}

removeNativeSendingLane

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatoire
  • valuestring

    format: "uuid"

laneKind
path · obligatoire
  • valuestring

    enum: "mailbox", "product", "broadcast"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • confirm_domainstringobligatoire

    Sous-domaine exact du canal sélectionné.

Réponse réussie 202

Seul le canal sélectionné est arrêté et mis en file pour retrait. Les autres canaux et l’historique des messages sont conservés.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "confirm_domain": "example"
}'
POST/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/pause

pauseNativeSendingLane

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatoire
  • valuestring

    format: "uuid"

laneKind
path · obligatoire
  • valuestring

    enum: "mailbox", "product", "broadcast"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Le canal sélectionné est mis en pause sans modifier son DNS ni un autre canal.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/pause' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/resume

resumeNativeSendingLane

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatoire
  • valuestring

    format: "uuid"

laneKind
path · obligatoire
  • valuestring

    enum: "mailbox", "product", "broadcast"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Le canal sélectionné reprend lorsque son DNS enregistré et l’état fournisseur sont prêts.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/resume' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/verify

verifyNativeSendingDomain

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

L’identité Banger et la vérification DNS ont été revérifiées en toute sécurité.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • domain_idstringobligatoire

    format: "uuid"

  • product_idstringobligatoire

    format: "uuid"

  • root_domainstringobligatoire
  • parent_domainstring

    Domaine d’entreprise conservé lorsqu’un canal utilise un sous-domaine.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatoire

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatoire

    minItems: 1 · maxItems: 3

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatoire

    enum: "mailbox", "product", "broadcast"

  • display_namestringobligatoire
  • from_domainstringobligatoire
  • mail_from_domainstring | nullobligatoire
  • inbound_domainstring | nullobligatoire
  • route_providerstringobligatoire

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatoire

    format: "uuid"

  • inbound_providerstring | nullobligatoire

    enum: "banger", null

  • statusstringobligatoire

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatoire
  • desired_revisionintegerobligatoire

    minimum: 1

  • observed_revisionintegerobligatoire

    minimum: 0

  • dns_readybooleanobligatoire
  • provider_readybooleanobligatoire
  • inbound_readybooleanobligatoire
  • outbound_readybooleanobligatoire
  • banger_transport_readybooleanobligatoire
  • banger_mail_from_domainstring | nullobligatoire
  • provisioning_job_idstring | nullobligatoire

    format: "uuid"

  • provisioning_statusstringobligatoire

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

  • provisioning_error_codestring | null
  • provisioning_next_attempt_atstring | null
  • provisioning_last_checked_atstring | null
  • provider_identity_statusstring | null
  • provider_dkim_statusstring | null
  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire
  • deletionobject | nullobligatoire

    Aucune propriété supplémentaire

  • job_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatoire
  • cleanup_recordsarrayobligatoire

    Enregistrements DNS exacts que l’utilisateur peut retirer après le démantèlement.

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • lane_idstringobligatoire

    format: "uuid"

  • providerstringobligatoire

    enum: "banger", "resend"

  • purposestringobligatoire
  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

  • namestringobligatoire
  • valuestringobligatoire
  • priorityinteger | nullobligatoire
  • requiredbooleanobligatoire
  • statusstringobligatoire

    enum: "pending", "verified", "error"

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatoire

    format: "date-time"

  • last_checked_atstring | nullobligatoire

    format: "date-time"

  • errorobjectobligatoire
  • Propriété supplémentaireToute valeur
  • provider_referencestring | nullobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/verify' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Migrations de domaines d’envoi

POST/v1/workspaces/{workspaceId}/sending-domain-migrations

requestNativeDomainMigration

Figez la configuration exacte et le DNS observé dans une approbation domain.migrate en attente. Ne provisionne aucune ressource. Seul un administrateur connecté peut l’autoriser dans le panneau Approbations ; les identifiants d’agents et la validation automatique sont refusés. L’autorisation revérifie atomiquement le snapshot DNS et prépare le domaine approuvé.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • domainstringobligatoire

    Domaine ou sous-domaine exact du produit. Par défaut, Banger dérive trois sous-domaines de canal distincts.

    minLength: 3 · maxLength: 253

  • setup_modestring

    Simple provisionne un transport de boîte mail pour recevoir et envoyer depuis les adresses sélectionnées, y compris Campagnes et Parcours. Advanced provisionne des canaux d’envoi séparés.

    default: "advanced" · enum: "simple", "advanced"

  • mailbox_modestring

    La configuration Simple utilise la racine par défaut sans préfixe de boîte mail ; advanced utilise un sous-domaine. Subdomain conserve le courrier existant du domaine. Migrate demande des Boîtes mail sur le domaine exact. Un domaine exact ou canal occupé nécessite une demande via sending-domain-migrations puis une autorisation dans le panneau Approbations Banger connecté. Les identifiants d’agents ne peuvent pas autoriser la migration. Aucun ancien message n’est importé et le DNS n’est jamais modifié automatiquement.

    enum: "subdomain", "migrate"

  • root_dmarc_confirmedboolean

    Champ de compatibilité hérité ; les politiques existantes sont conservées et la configuration ne nécessite aucune confirmation.

  • lane_prefixesobject

    Aucune propriété supplémentaire

  • mailboxstring

    minLength: 1 · maxLength: 63 · default: "mail"

  • productstring

    minLength: 1 · maxLength: 63 · default: "tx"

  • broadcaststring

    minLength: 1 · maxLength: 63 · default: "broadcast"

  • route_providersobject

    Resend est accepté uniquement si Banger l’a déjà détecté dans le DNS de ce domaine et si le produit sélectionné a une connexion active. Les clients ne doivent jamais le proposer autrement.

    Aucune propriété supplémentaire

  • productstring

    default: "banger" · enum: "banger", "resend"

  • broadcaststring

    default: "banger" · enum: "banger", "resend"

  • route_domainsobject

    Domaines vérifiés exacts synchronisés depuis Resend. Requis pour chaque canal conservant Resend.

    Aucune propriété supplémentaire

  • productstring

    minLength: 3 · maxLength: 253

  • broadcaststring

    minLength: 3 · maxLength: 253

Réponse réussie 200

Demande de migration existante renvoyée de manière idempotente.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • requested_by_actor_idstringobligatoire
  • action_kindstringobligatoire
  • summarystringobligatoire
  • capability_scopesarrayobligatoire
  • Chaque élémentstring
  • resource_scopeobjectobligatoire
  • Propriété supplémentairearray
  • Chaque élémentstring
  • payloadobjectobligatoire
  • Propriété supplémentaireToute valeur
  • payload_sha256stringobligatoire

    pattern: "^[0-9a-f]{64}$"

  • statusstringobligatoire

    enum: "pending", "approved", "rejected", "cancelled", "expired"

  • missedbooleanobligatoire
  • expires_atstringobligatoire

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Aucune propriété supplémentaire

  • dispositionstringobligatoire

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatoire

    minimum: 0

  • reasonsarrayobligatoire
  • Chaque élémentstring
  • checksarrayobligatoire
  • Chaque élémentstring

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domain-migrations' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain": "example",
  "setup_mode": "advanced",
  "mailbox_mode": "subdomain",
  "root_dmarc_confirmed": true,
  "lane_prefixes": {
    "mailbox": "mail",
    "product": "tx",
    "broadcast": "broadcast"
  },
  "route_providers": {
    "product": "banger",
    "broadcast": "banger"
  },
  "route_domains": {
    "product": "example",
    "broadcast": "example"
  }
}'

Webhooks

GET/v1/workspaces/{workspaceId}/webhooks

Listez les sources d’événements entrants et destinations d’événements sortants.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Points de terminaison webhook de l’espace de travail.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • kindstringobligatoire

    enum: "outbound", "inbound"

  • source_keystringobligatoire

    pattern: "^[a-z0-9][a-z0-9_-]{0,62}$"

  • namestringobligatoire
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobligatoire

    enum: "active", "disabled", "error"

  • event_typesarrayobligatoire
  • Chaque élémentstring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobligatoire

    minimum: 0

  • failed_countintegerobligatoire

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/webhooks

Créez une destination signée avec tentatives répétées ou une source idempotente d’événements entrants.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • kindstringobligatoire

    enum: "outbound", "inbound"

  • namestringobligatoire

    minLength: 1 · maxLength: 120

  • source_keystring

    banger_api est réservé au webhook créé par POST /events.

    pattern: "^[a-z0-9][a-z0-9_-]{0,62}$" · default: "custom"

  • source_configobject

    Évaluation déterministe des événements et correspondance de livraison propres à la source. Pris en charge pour Zendesk et Supabase Auth.

    Aucune propriété supplémentaire

  • vip_tagsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Chaque élémentstring

    pattern: "^[a-z0-9][a-z0-9_-]{0,63}$"

  • sla_warning_minutesinteger

    minimum: 1 · maximum: 10080

  • project_urlstring

    URL du projet Supabase.

    format: "uri"

  • mailbox_idstring

    Adresse d’envoi Banger active utilisée pour les e-mails Supabase Auth.

    format: "uuid"

  • template_idsobject

    Modèle Banger sélectionné pour chaque action e-mail Supabase Auth.

    Aucune propriété supplémentaire

  • signupstringobligatoire

    format: "uuid"

  • invitestringobligatoire

    format: "uuid"

  • magiclinkstringobligatoire

    format: "uuid"

  • recoverystringobligatoire

    format: "uuid"

  • email_changestringobligatoire

    format: "uuid"

  • reauthenticationstringobligatoire

    format: "uuid"

  • password_changed_notificationstringobligatoire

    format: "uuid"

  • email_changed_notificationstringobligatoire

    format: "uuid"

  • phone_changed_notificationstringobligatoire

    format: "uuid"

  • identity_linked_notificationstringobligatoire

    format: "uuid"

  • identity_unlinked_notificationstringobligatoire

    format: "uuid"

  • mfa_factor_enrolled_notificationstringobligatoire

    format: "uuid"

  • mfa_factor_unenrolled_notificationstringobligatoire

    format: "uuid"

  • signing_secretstring

    Secret Supabase Send Email Hook. Accepté uniquement pour une source Supabase entrante et chiffré au repos.

    minLength: 20 · maxLength: 500

  • endpoint_urlstring

    Requis uniquement pour les destinations sortantes.

    format: "uri"

  • event_typesarray

    Événements à envoyer. Si omis, un point de terminaison sortant reçoit les événements d’activité par défaut ; les événements spécifiques (mail.received, mail.sent, send.*, journey.*) ne sont envoyés que s’ils sont listés. * envoie tout, y compris send.delivered à fort volume.

    minItems: 1 · maxItems: 100 · uniqueItems: true

  • Chaque élémentstring

    enum: "*", "mail.changed", "send.changed", "campaign.changed", "audience.changed", "approval.changed", "automation.changed", "domain.changed", "sending.warning", "sending.lane_paused", "sending.domain_paused", "sending.mailbox_paused", "sending.workspace_frozen", "sending.resumed", "mail.received", "mail.sent", "send.delivered", "send.bounced", "send.complained", "journey.enrolled", "journey.completed", "journey.exited", "custom"

Réponse réussie 201

Webhook créé. Les secrets de signature sortante sont affichés une fois ; les appelants autorisés peuvent rouvrir les options d’identifiants entrants.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • kindstringobligatoire

    enum: "outbound", "inbound"

  • source_keystringobligatoire

    pattern: "^[a-z0-9][a-z0-9_-]{0,62}$"

  • namestringobligatoire
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobligatoire

    enum: "active", "disabled", "error"

  • event_typesarrayobligatoire
  • Chaque élémentstring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobligatoire

    minimum: 0

  • failed_countintegerobligatoire

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • signing_secretstring

    Secret de signature des requêtes sortantes

  • source_urlstring

    URL d’événement entrant contenant son secret impossible à deviner.

    format: "uri"

  • webhook_urlstring

    URL publique entrante à utiliser avec l’en-tête Authorization.

    format: "uri"

  • bearer_tokenstring

    Jeton secret du point de terminaison à envoyer comme Authorization Bearer.

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "kind": "outbound",
  "name": "example",
  "source_key": "custom",
  "source_config": {
    "vip_tags": [
      "example"
    ],
    "sla_warning_minutes": 1,
    "project_url": "https://example.com",
    "mailbox_id": "00000000-0000-4000-8000-000000000001",
    "template_ids": {
      "signup": "00000000-0000-4000-8000-000000000001",
      "invite": "00000000-0000-4000-8000-000000000001",
      "magiclink": "00000000-0000-4000-8000-000000000001",
      "recovery": "00000000-0000-4000-8000-000000000001",
      "email_change": "00000000-0000-4000-8000-000000000001",
      "reauthentication": "00000000-0000-4000-8000-000000000001",
      "password_changed_notification": "00000000-0000-4000-8000-000000000001",
      "email_changed_notification": "00000000-0000-4000-8000-000000000001",
      "phone_changed_notification": "00000000-0000-4000-8000-000000000001",
      "identity_linked_notification": "00000000-0000-4000-8000-000000000001",
      "identity_unlinked_notification": "00000000-0000-4000-8000-000000000001",
      "mfa_factor_enrolled_notification": "00000000-0000-4000-8000-000000000001",
      "mfa_factor_unenrolled_notification": "00000000-0000-4000-8000-000000000001"
    }
  },
  "signing_secret": "examplexxxxxxxxxxxxx",
  "endpoint_url": "https://example.com",
  "event_types": [
    "*"
  ]
}'
PATCH/v1/workspaces/{workspaceId}/webhooks/{endpointId}

Désactivez un webhook ou réactivez-en un désactivé ou défaillant, sans renouveler son point de terminaison ni son secret.

Désactiver arrête les livraisons ou événements d’automatisation entrants et conserve le webhook, son nom et son historique. Désactiver un webhook entrant désactive aussi sa connexion : les Parcours qu’il déclenche cessent de recevoir des événements jusqu’à sa réactivation. Pour retirer définitivement un webhook, supprimez-le.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

endpointId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • statusstringobligatoire

    enum: "active", "disabled"

Réponse réussie 200

Webhook réactivé ou désactivé.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • kindstringobligatoire

    enum: "outbound", "inbound"

  • source_keystringobligatoire

    pattern: "^[a-z0-9][a-z0-9_-]{0,62}$"

  • namestringobligatoire
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobligatoire

    enum: "active", "disabled", "error"

  • event_typesarrayobligatoire
  • Chaque élémentstring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobligatoire

    minimum: 0

  • failed_countintegerobligatoire

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "status": "active"
}'
DELETE/v1/workspaces/{workspaceId}/webhooks/{endpointId}

Supprimez définitivement un webhook pour pouvoir réutiliser son nom.

Un point de terminaison sortant est supprimé avec son historique de livraison. Un webhook entrant est supprimé avec sa connexion, uniquement si aucun Parcours, y compris archivé, ne l’utilise comme déclencheur ou objectif. Pour arrêter un webhook en le conservant, appliquez PATCH à son status avec disabled.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

endpointId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Webhook supprimé.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/webhooks/{endpointId}/credentials

Rouvrez les options existantes d’identifiants d’un webhook entrant actif.

Nécessite automation:execute. Renvoie le même secret sans créer ni renouveler de ressources. Ne mettez jamais cette réponse en cache ni dans les journaux.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

endpointId
path · obligatoire
  • valuestring

    format: "uuid"

x-banger-product-id
header

Requis sauf si la clé API authentifiée lie déjà le produit.

  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

URL source privée, URL webhook publique et jeton Bearer distinct.

application/json

  • valueobject
  • datanon précisé
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • kindstringobligatoire

    enum: "outbound", "inbound"

  • source_keystringobligatoire

    pattern: "^[a-z0-9][a-z0-9_-]{0,62}$"

  • namestringobligatoire
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobligatoire

    enum: "active", "disabled", "error"

  • event_typesarrayobligatoire
  • Chaque élémentstring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobligatoire

    minimum: 0

  • failed_countintegerobligatoire

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobligatoire

    format: "date-time"

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • signing_secretstring

    Secret de signature des requêtes sortantes

  • source_urlstring

    URL d’événement entrant contenant son secret impossible à deviner.

    format: "uri"

  • webhook_urlstring

    URL publique entrante à utiliser avec l’en-tête Authorization.

    format: "uri"

  • bearer_tokenstring

    Jeton secret du point de terminaison à envoyer comme Authorization Bearer.

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}/credentials' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/webhooks/{endpointId}/deliveries

Listez les tentatives de livraison récentes et résultats HTTP d’un webhook sortant.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

endpointId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Tentatives de livraison récentes.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • event_typestringobligatoire
  • statusstringobligatoire

    enum: "pending", "delivering", "delivered", "failed"

  • attempt_countintegerobligatoire

    minimum: 0

  • http_statusinteger | null

    minimum: 100 · maximum: 599

  • last_error_codestring | null
  • delivered_atstring | null

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}/deliveries' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/webhooks/{endpointId}/test

Mettez en file un événement synthétique signé via le chemin normal de livraison avec nouvelles tentatives.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

endpointId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 202

Événement de test signé en file.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}/test' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Configuration initiale

PUT/v1/workspaces/{workspaceId}/onboarding/path

selectOnboardingPath

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • pathstringobligatoire

    enum: "starter_identity", "company_domain", "resend_gateway", "banger_native_sending", "work_mailbox", "gmail", "native_mailbox", "existing_provider"

Réponse réussie 200

Le chemin de configuration initiale faisant autorité côté serveur a été sélectionné.

application/json

  • valueobject
  • dataobjectobligatoire
  • pathstringobligatoire

    enum: "starter_identity", "company_domain", "resend_gateway", "banger_native_sending", "work_mailbox", "gmail", "native_mailbox", "existing_provider"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/path' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "path": "starter_identity"
}'
GET/v1/workspaces/{workspaceId}/onboarding/guided

Lisez la configuration canonique (connexion, marque, domaine) sans créer de ressources ni envoyer d’e-mails.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

x-banger-product-id
header

Produit sélectionné. Requis lorsque plusieurs produits actifs existent.

  • valuestring

    format: "uuid"

details
query

Incluez les brouillons modifiables, la marque et les enregistrements DNS faisant autorité.

  • valueinteger

    enum: 1

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Progression persistée et capacités vérifiées indépendamment.

application/json

  • valueobject
  • dataobjectobligatoire
  • product_idstringobligatoire

    format: "uuid"

  • lessonobject
  • stepstringobligatoire
  • purposestringobligatoire
  • setupstringobligatoire
  • boundarystringobligatoire
  • example_requeststringobligatoire
  • resultstringobligatoire
  • choicestringobligatoire
  • skipstring | nullobligatoire
  • guidancestring
  • current_stepstringobligatoire

    enum: "connect", "business", "identity", "sending"

  • completed_countintegerobligatoire
  • total_stepsintegerobligatoire

    enum: 4

  • setupobject

    Le contrôle de configuration web et la bannière de fin de configuration. Chaque partie est terminée, en vérification (enregistrements de domaine ajoutés, DNS encore vérifié), ignorée ou manquante.

  • connectstringobligatoire

    enum: "complete", "skipped", "missing"

  • brandstringobligatoire

    enum: "complete", "skipped", "missing"

  • domainstringobligatoire

    enum: "complete", "verifying", "skipped", "missing"

  • gate_openbooleanobligatoire

    True tant que la marque ou le domaine n’est ni terminé ni ignoré.

  • missingarrayobligatoire

    Parties ignorées ou jamais terminées

  • Chaque élémentstring

    enum: "connect", "brand", "domain"

  • unlock_video_dueboolean

    True après vérification d’un domaine jusqu’à ce que l’espace de travail ait vu la vidéo "ce que vous pouvez faire maintenant".

  • agent_client_namestring | null

    L’application IA connectée

  • completebooleanobligatoire
  • shared_education_completeboolean
  • outcomestringobligatoire

    enum: "in_progress", "production_deferred", "production_ready"

  • recommended_actionstringobligatoire
  • readinessobjectobligatoire
  • Propriété supplémentaireboolean
  • progressobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • titlestringobligatoire
  • explanationstring
  • statusstringobligatoire

    enum: "not_started", "in_progress", "waiting", "needs_attention", "complete", "skipped"

  • blocking_dependencystring | null
  • recommended_actionstring
  • actionsarrayobligatoire
  • Chaque élémentstring
  • resource_idsarrayobligatoire
  • Chaque élémentstring
  • evidenceobjectobligatoire
  • Propriété supplémentaireToute valeur
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/guided?details=1' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/onboarding/guided

Exécutez une action explicite de configuration initiale réessayable sans risque pour le produit sélectionné.

Les envois ciblent uniquement l’adresse d’inscription vérifiée de l’utilisateur qui autorise. Les Parcours restent inactifs et les Campagnes non envoyées. Les limites existantes d’approbation de migration s’appliquent.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

x-banger-product-id
header

Produit sélectionné. Requis lorsque plusieurs produits actifs existent.

  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • actionstringobligatoire

    enum: "begin_guidance", "save_business", "discover_brand", "skip_business", "choose_identity", "defer_identity", "skip_domain", "choose_delivery", "setup_receiving", "defer_receiving", "setup_sending", "dns_applied", "verify_dns", "continue_domain", "add_inboxes", "skip_inboxes", "finish_for_now", "finish"

  • dataobject

    Champs métier company_name, primary_goal, website_url et brand ; champs de brouillon name, subject, preview_text, body_text et edit ; champs d’identité domain et local_part. La saisie de destinataires n’est jamais acceptée.

  • Propriété supplémentaireToute valeur

Réponse réussie 200

État canonique actualisé après l’opération demandée.

application/json

  • valueobject
  • dataobjectobligatoire
  • product_idstringobligatoire

    format: "uuid"

  • lessonobject
  • stepstringobligatoire
  • purposestringobligatoire
  • setupstringobligatoire
  • boundarystringobligatoire
  • example_requeststringobligatoire
  • resultstringobligatoire
  • choicestringobligatoire
  • skipstring | nullobligatoire
  • guidancestring
  • current_stepstringobligatoire

    enum: "connect", "business", "identity", "sending"

  • completed_countintegerobligatoire
  • total_stepsintegerobligatoire

    enum: 4

  • setupobject

    Le contrôle de configuration web et la bannière de fin de configuration. Chaque partie est terminée, en vérification (enregistrements de domaine ajoutés, DNS encore vérifié), ignorée ou manquante.

  • connectstringobligatoire

    enum: "complete", "skipped", "missing"

  • brandstringobligatoire

    enum: "complete", "skipped", "missing"

  • domainstringobligatoire

    enum: "complete", "verifying", "skipped", "missing"

  • gate_openbooleanobligatoire

    True tant que la marque ou le domaine n’est ni terminé ni ignoré.

  • missingarrayobligatoire

    Parties ignorées ou jamais terminées

  • Chaque élémentstring

    enum: "connect", "brand", "domain"

  • unlock_video_dueboolean

    True après vérification d’un domaine jusqu’à ce que l’espace de travail ait vu la vidéo "ce que vous pouvez faire maintenant".

  • agent_client_namestring | null

    L’application IA connectée

  • completebooleanobligatoire
  • shared_education_completeboolean
  • outcomestringobligatoire

    enum: "in_progress", "production_deferred", "production_ready"

  • recommended_actionstringobligatoire
  • readinessobjectobligatoire
  • Propriété supplémentaireboolean
  • progressobjectobligatoire
  • Propriété supplémentaireToute valeur
  • stepsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire
  • titlestringobligatoire
  • explanationstring
  • statusstringobligatoire

    enum: "not_started", "in_progress", "waiting", "needs_attention", "complete", "skipped"

  • blocking_dependencystring | null
  • recommended_actionstring
  • actionsarrayobligatoire
  • Chaque élémentstring
  • resource_idsarrayobligatoire
  • Chaque élémentstring
  • evidenceobjectobligatoire
  • Propriété supplémentaireToute valeur
  • Propriété supplémentaireToute valeur

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/guided' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "action": "begin_guidance",
  "data": {}
}'
GET/v1/workspaces/{workspaceId}/onboarding/agent-state

Reprenez le parcours de configuration initiale partagé entre navigateur et MCP.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État actuel de configuration initiale géré par le serveur.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/start

Sélectionnez l’écran d’entrée guidé par agent ou le repli navigateur.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • entry_surfacestringobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser"

  • client_namestring

    minLength: 1 · maxLength: 100

Réponse réussie 200

Parcours démarré ou repris.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/start' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "entry_surface": "codex",
  "client_name": "example"
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/aha-one

Créez de manière idempotente la boîte mail hébergée permanente et démarrez son aller-retour réel de message de bienvenue.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

La boîte mail hébergée et sa preuve existante ont été reprises.

application/json

  • valueobject
  • dataobjectobligatoire
  • proof_idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • mailbox_addressstringobligatoire

    format: "email"

  • command_idstringobligatoire

    format: "uuid"

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobligatoire
  • receive_completebooleanobligatoire
  • round_trip_check_completebooleanobligatoire
  • agent_check_completebooleanobligatoire
  • completebooleanobligatoire
  • expected_subjectstringobligatoire
  • expected_body_textstringobligatoire
  • received_message_idstring

    format: "uuid"

  • received_thread_idstring

    format: "uuid"

  • received_subjectstring
  • received_body_textstring
  • received_atstring

    format: "date-time"

  • agent_labelstring
  • agent_suggested_actionstring
  • error_codestring
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/aha-one' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/agent-proof

Envoyez la preuve de connexion d’agent liée à OAuth vers la boîte mail hébergée canonique.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

La même autorisation OAuth a rejoué ou déjà terminé la preuve.

application/json

  • valueobject
  • dataobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "verified"

  • attempt_idstringobligatoire

    format: "uuid"

  • oauth_grant_idstringobligatoire
  • oauth_client_idstring | nullobligatoire
  • client_namestring | nullobligatoire
  • mailbox_idstringobligatoire

    format: "uuid"

  • mailbox_addressstringobligatoire

    format: "email"

  • expected_subjectstringobligatoire
  • initiated_atstringobligatoire

    format: "date-time"

  • command_idstring

    format: "uuid"

  • send_statusstring
  • dispatch_statusstring

    enum: "completed", "already-running", "already-settled"

  • replayedboolean
  • message_idstring

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • received_atstring

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/agent-proof' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/onboarding/agent-state/decision

Consignez un choix explicite de configuration initiale progressive.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • decisionstringobligatoire

    enum: "agent_connection_skipped", "goals_chosen", "domain_bundle_approved", "dns_computer_use_authorized", "dns_manual_selected", "dns_records_applied", "services_reviewed", "persistent_mcp_acknowledged", "autopilot_proposed", "autopilot_skipped", "autopilot_activated", "intro_video_seen", "unlock_video_seen"

  • detailsobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Le choix est persisté dans le parcours canonique.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/decision' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "decision": "agent_connection_skipped",
  "details": {}
}'
PUT/v1/workspaces/{workspaceId}/onboarding/agent-state/domain-choice

Persistez la décision de configuration avec domaine d’entreprise ou sans domaine de l’utilisateur et exécutez la découverte canonique.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • choicestringobligatoire

    enum: "company_domain", "no_domain"

  • domainstring

    minLength: 3 · maxLength: 253

Réponse réussie 200

Décision de domaine enregistrée et parcours repris.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/domain-choice' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "choice": "company_domain",
  "domain": "example"
}'
PUT/v1/workspaces/{workspaceId}/onboarding/agent-state/context

Stockez le contexte métier validé fourni par le navigateur ou l’agent connecté.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • company_domainstring

    Passerelle de compatibilité pour les connecteurs en cache antérieurs à chooseAgentOnboardingDomain. L’agent doit toujours demander d’abord à l’utilisateur.

    minLength: 3 · maxLength: 253

  • client_namestring

    minLength: 1 · maxLength: 100

Réponse réussie 200

Contexte accepté.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/context' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "context": {},
  "company_domain": "example",
  "client_name": "example"
}'
PUT/v1/workspaces/{workspaceId}/onboarding/agent-state/plan

Stockez les choix personnalisés de prochaines étapes après réussite de l’activation réelle des e-mails.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • opportunitiesarrayobligatoire

    minItems: 1 · maxItems: 100

  • Chaque élémentobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Plan d’opportunités accepté.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/plan' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "opportunities": [
    {}
  ]
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/apply

Consignez les livrables validés préparés depuis le plan d’opportunités.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • summaryobjectobligatoire
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Résumé de mise en œuvre consigné.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/apply' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "summary": {}
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/plan/approve

Approuvez la carte d’opportunités proposée avant que l’agent prépare des modifications sensibles.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Plan d’opportunités approuvé par l’administrateur authentifié de l’espace de travail.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/plan/approve' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/validate

Déduisez la validation déterministe d’activation de l’état de preuve géré par Banger.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • summaryobject
  • Propriété supplémentaireToute valeur

Réponse réussie 200

Résultat de validation consigné.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/validate' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "summary": {}
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/complete

Terminez la configuration initiale après réussite de la validation déterministe.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Configuration initiale terminée.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • workspace_idstringobligatoire

    format: "uuid"

  • statusstringobligatoire

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatoire

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatoire

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatoire
  • domain_choicestringobligatoire

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatoire
  • domain_chosen_atstring | nullobligatoire

    format: "date-time"

  • business_contextobjectobligatoire
  • Propriété supplémentaireToute valeur
  • opportunity_planarrayobligatoire
  • Chaque élémentobject
  • Propriété supplémentaireToute valeur
  • implementation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • validation_summaryobjectobligatoire
  • Propriété supplémentaireToute valeur
  • journey_metadataobjectobligatoire
  • Propriété supplémentaireToute valeur
  • context_reviewed_atstring | nullobligatoire

    format: "date-time"

  • plan_proposed_atstring | nullobligatoire

    format: "date-time"

  • plan_approved_atstring | nullobligatoire

    format: "date-time"

  • completed_atstring | nullobligatoire

    format: "date-time"

  • versionintegerobligatoire

    format: "int64" · minimum: 1

  • updated_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • domain_discoverynon préciséobligatoire
  • oneOf 1object
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire

    Imbrications supplémentaires omises

  • website_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

    Imbrications supplémentaires omises

  • company_namestringobligatoire

    Imbrications supplémentaires omises

  • summarystringobligatoire

    Imbrications supplémentaires omises

  • audiencestringobligatoire

    Imbrications supplémentaires omises

  • offeringsarrayobligatoire

    Imbrications supplémentaires omises

  • logo_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • favicon_urlstring | nullobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • visual_identityobjectobligatoire

    Imbrications supplémentaires omises

  • source_snapshotobjectobligatoire

    Imbrications supplémentaires omises

  • dns_signalsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • oneOf 2null

    Imbrications supplémentaires omises

  • provider_detectionsarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

    Imbrications supplémentaires omises

  • limitationsarrayobligatoire
  • Chaque élémentstring

    Imbrications supplémentaires omises

  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • domain_bundleobject | nullobligatoire
  • Propriété supplémentaireToute valeur
  • growthobjectobligatoire
  • Propriété supplémentaireToute valeur
  • activationobjectobligatoire
  • modestringobligatoire

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatoire

    enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"

  • domainstring | nullobligatoire
  • sending_domain_idstring | nullobligatoire

    format: "uuid"

  • mailbox_idstring | nullobligatoire

    format: "uuid"

  • mailbox_addressstring | nullobligatoire

    format: "email"

  • exact_dns_recordsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • lane_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • providerstringobligatoire

    enum: "banger", "resend"

    Imbrications supplémentaires omises

  • purposestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "TXT", "MX", "CNAME"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • priorityinteger | nullobligatoire

    Imbrications supplémentaires omises

  • requiredbooleanobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "verified", "error"

    Imbrications supplémentaires omises

  • provider_statusstringobligatoire

    enum: "pending", "verified", "error", "not_applicable"

    Imbrications supplémentaires omises

  • first_observed_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • last_checked_atstring | nullobligatoire

    format: "date-time"

    Imbrications supplémentaires omises

  • errorobjectobligatoire

    Imbrications supplémentaires omises

  • provider_referencestring | nullobligatoire

    Imbrications supplémentaires omises

  • checkpointsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Imbrications supplémentaires omises

  • labelstringobligatoire

    Imbrications supplémentaires omises

  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • lanesobjectobligatoire
  • mailboxobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • transactionalobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • marketingobjectobligatoire
  • statusstringobligatoire

    enum: "pending", "working", "action_required", "verified"

    Imbrications supplémentaires omises

  • detailstringobligatoire

    Imbrications supplémentaires omises

  • proofnon préciséobligatoire
  • oneOf 1object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • command_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • round_trip_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • expected_subjectstringobligatoire

    Imbrications supplémentaires omises

  • expected_body_textstringobligatoire

    Imbrications supplémentaires omises

  • received_message_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_thread_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • received_subjectstring

    Imbrications supplémentaires omises

  • received_body_textstring

    Imbrications supplémentaires omises

  • received_atstring

    format: "date-time"

    Imbrications supplémentaires omises

  • agent_labelstring

    Imbrications supplémentaires omises

  • agent_suggested_actionstring

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 2object
  • proof_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • native_domain_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_idstringobligatoire

    format: "uuid"

    Imbrications supplémentaires omises

  • mailbox_addressstringobligatoire

    format: "email"

    Imbrications supplémentaires omises

  • transactional_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • marketing_send_intent_idstring

    format: "uuid"

    Imbrications supplémentaires omises

  • transactional_subjectstringobligatoire

    Imbrications supplémentaires omises

  • marketing_subjectstringobligatoire

    Imbrications supplémentaires omises

  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

    Imbrications supplémentaires omises

  • send_completebooleanobligatoire

    Imbrications supplémentaires omises

  • transactional_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • marketing_receivedbooleanobligatoire

    Imbrications supplémentaires omises

  • receive_completebooleanobligatoire

    Imbrications supplémentaires omises

  • agent_check_completebooleanobligatoire

    Imbrications supplémentaires omises

  • completebooleanobligatoire

    Imbrications supplémentaires omises

  • error_codestring

    Imbrications supplémentaires omises

  • replayedbooleanobligatoire

    Imbrications supplémentaires omises

  • oneOf 3null
  • overall_readybooleanobligatoire
  • production_readybooleanobligatoire
  • completedbooleanobligatoire
  • pendingbooleanobligatoire
  • next_actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • action_requiredobjectobligatoire
  • typestringobligatoire
  • requiredbooleanobligatoire
  • actionstringobligatoire

    enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"

  • urlstring | nullobligatoire

    format: "uri"

  • instructionsstring | nullobligatoire
  • secure_urlstring | nullobligatoire

    format: "uri"

  • mcp_urlstringobligatoire

    format: "uri"

  • dashboard_urlstringobligatoire

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/complete' \
  --header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/onboarding/starter-proof

Lisez l’état durable d’un aller-retour d’adresse initiale.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

mailbox_id
query · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État actuel de la preuve.

application/json

  • valueobject
  • dataobjectobligatoire
  • proof_idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • mailbox_addressstringobligatoire

    format: "email"

  • command_idstringobligatoire

    format: "uuid"

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobligatoire
  • receive_completebooleanobligatoire
  • round_trip_check_completebooleanobligatoire
  • agent_check_completebooleanobligatoire
  • completebooleanobligatoire
  • expected_subjectstringobligatoire
  • expected_body_textstringobligatoire
  • received_message_idstring

    format: "uuid"

  • received_thread_idstring

    format: "uuid"

  • received_subjectstring
  • received_body_textstring
  • received_atstring

    format: "date-time"

  • agent_labelstring
  • agent_suggested_actionstring
  • error_codestring
  • replayedbooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/starter-proof?mailbox_id=00000000-0000-4000-8000-000000000001' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/starter-proof

Démarrez ou reprenez une preuve réelle d’envoi et de réception pour une adresse initiale.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • mailbox_idstringobligatoire

    format: "uuid"

Réponse réussie 200

La preuve existante a été reprise.

application/json

  • valueobject
  • dataobjectobligatoire
  • proof_idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • mailbox_addressstringobligatoire

    format: "email"

  • command_idstringobligatoire

    format: "uuid"

  • phasestringobligatoire

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobligatoire
  • receive_completebooleanobligatoire
  • round_trip_check_completebooleanobligatoire
  • agent_check_completebooleanobligatoire
  • completebooleanobligatoire
  • expected_subjectstringobligatoire
  • expected_body_textstringobligatoire
  • received_message_idstring

    format: "uuid"

  • received_thread_idstring

    format: "uuid"

  • received_subjectstring
  • received_body_textstring
  • received_atstring

    format: "date-time"

  • agent_labelstring
  • agent_suggested_actionstring
  • error_codestring
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/starter-proof' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "mailbox_id": "00000000-0000-4000-8000-000000000001"
}'
GET/v1/workspaces/{workspaceId}/onboarding/domain-proof

Lisez l’état durable des vérifications d’infrastructure du domaine.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

État actuel de la preuve.

application/json

  • valueobject
  • dataobjectobligatoire
  • proof_idstringobligatoire

    format: "uuid"

  • domain_idstringobligatoire

    format: "uuid"

  • native_domain_idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • mailbox_addressstringobligatoire

    format: "email"

  • transactional_send_intent_idstring

    format: "uuid"

  • marketing_send_intent_idstring

    format: "uuid"

  • transactional_subjectstringobligatoire
  • marketing_subjectstringobligatoire
  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

  • send_completebooleanobligatoire
  • transactional_receivedbooleanobligatoire
  • marketing_receivedbooleanobligatoire
  • receive_completebooleanobligatoire
  • agent_check_completebooleanobligatoire
  • completebooleanobligatoire
  • error_codestring
  • replayedbooleanobligatoire

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/domain-proof' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/domain-proof

Démarrez ou reprenez deux vérifications réelles d’envoi et réception pour l’infrastructure Banger vérifiée.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • native_domain_idstringobligatoire

    format: "uuid"

Réponse réussie 200

La preuve existante a été reprise.

application/json

  • valueobject
  • dataobjectobligatoire
  • proof_idstringobligatoire

    format: "uuid"

  • domain_idstringobligatoire

    format: "uuid"

  • native_domain_idstringobligatoire

    format: "uuid"

  • mailbox_idstringobligatoire

    format: "uuid"

  • mailbox_addressstringobligatoire

    format: "email"

  • transactional_send_intent_idstring

    format: "uuid"

  • marketing_send_intent_idstring

    format: "uuid"

  • transactional_subjectstringobligatoire
  • marketing_subjectstringobligatoire
  • phasestringobligatoire

    enum: "sending", "receiving", "received", "checked", "failed"

  • send_completebooleanobligatoire
  • transactional_receivedbooleanobligatoire
  • marketing_receivedbooleanobligatoire
  • receive_completebooleanobligatoire
  • agent_check_completebooleanobligatoire
  • completebooleanobligatoire
  • error_codestring
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/domain-proof' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "native_domain_id": "00000000-0000-4000-8000-000000000001"
}'
PUT/v1/workspaces/{workspaceId}/onboarding/goal

selectActivationGoal

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • goalstringobligatoire

    enum: "work_inbox", "product_email", "campaign", "company_workflow"

Réponse réussie 200

Le premier résultat est sélectionné et l’exécution guidée peut s’ouvrir dans l’interface produit.

application/json

  • valueobject
  • dataobjectobligatoire
  • goalstringobligatoire

    enum: "work_inbox", "product_email", "campaign", "company_workflow"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/goal' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "goal": "work_inbox"
}'
GET/v1/workspaces/{workspaceId}/onboarding/discovery

getWorkspaceDomainDiscovery

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Découverte actuelle de l’entreprise et de l’infrastructure e-mail.

application/json

  • valueobject
  • dataobjectobligatoire
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire
  • website_urlstring | nullobligatoire

    format: "uri"

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

  • company_namestringobligatoire
  • summarystringobligatoire
  • audiencestringobligatoire
  • offeringsarrayobligatoire
  • Chaque élémentstring
  • logo_urlstring | nullobligatoire

    format: "uri"

  • favicon_urlstring | nullobligatoire

    format: "uri"

  • visual_identityobjectobligatoire
  • colorsarrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • fontsarrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • tonearrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • source_confidencestringobligatoire

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobligatoire

    maxItems: 6

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • rolestringobligatoire

    enum: "primary", "accent", "background", "surface", "text", "other"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • typographyarrayobligatoire

    maxItems: 6

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • familystringobligatoire

    Imbrications supplémentaires omises

  • rolestringobligatoire

    enum: "heading", "body", "mono", "other"

    Imbrications supplémentaires omises

  • weightsarrayobligatoire

    Imbrications supplémentaires omises

  • assetsarrayobligatoire

    maxItems: 8

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • urlstringobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • kindstringobligatoire

    enum: "logo", "wordmark", "favicon", "hero"

    Imbrications supplémentaires omises

  • sourcestringobligatoire

    Imbrications supplémentaires omises

  • brand_summarystringobligatoire
  • imagery_stylearrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • source_snapshotobjectobligatoire
  • Propriété supplémentaireToute valeur
  • dns_signalsarrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire
  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobligatoire
  • ttlintegerobligatoire

    minimum: 0

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • confidencestringobligatoire

    enum: "high", "medium", "low"

  • dashboard_urlstringobligatoire

    format: "uri"

  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • oneOf 2null
  • provider_detectionsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire
  • namestringobligatoire
  • categoriesarrayobligatoire
  • Chaque élémentstring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobligatoire

    enum: "high", "medium", "low"

  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject
  • kindstringobligatoire

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobligatoire
  • statusstringobligatoire

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobligatoire
  • Chaque élémentstring
  • recommendationstringobligatoire

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • capabilitystringobligatoire

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobligatoire

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobligatoire
  • Chaque élémentstring
  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/discovery' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/discovery

scanWorkspaceDomain

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • domainstringobligatoire

    minLength: 3 · maxLength: 253

  • stream_kindstring

    default: "default" · enum: "default", "transactional", "marketing"

Réponse réussie 201

Découverte du DNS public et du site terminée et persistée.

application/json

  • valueobject
  • dataobjectobligatoire
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire
  • website_urlstring | nullobligatoire

    format: "uri"

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

  • company_namestringobligatoire
  • summarystringobligatoire
  • audiencestringobligatoire
  • offeringsarrayobligatoire
  • Chaque élémentstring
  • logo_urlstring | nullobligatoire

    format: "uri"

  • favicon_urlstring | nullobligatoire

    format: "uri"

  • visual_identityobjectobligatoire
  • colorsarrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • fontsarrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • tonearrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • source_confidencestringobligatoire

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobligatoire

    maxItems: 6

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • rolestringobligatoire

    enum: "primary", "accent", "background", "surface", "text", "other"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • typographyarrayobligatoire

    maxItems: 6

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • familystringobligatoire

    Imbrications supplémentaires omises

  • rolestringobligatoire

    enum: "heading", "body", "mono", "other"

    Imbrications supplémentaires omises

  • weightsarrayobligatoire

    Imbrications supplémentaires omises

  • assetsarrayobligatoire

    maxItems: 8

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • urlstringobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • kindstringobligatoire

    enum: "logo", "wordmark", "favicon", "hero"

    Imbrications supplémentaires omises

  • sourcestringobligatoire

    Imbrications supplémentaires omises

  • brand_summarystringobligatoire
  • imagery_stylearrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • source_snapshotobjectobligatoire
  • Propriété supplémentaireToute valeur
  • dns_signalsarrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire
  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobligatoire
  • ttlintegerobligatoire

    minimum: 0

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • confidencestringobligatoire

    enum: "high", "medium", "low"

  • dashboard_urlstringobligatoire

    format: "uri"

  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • oneOf 2null
  • provider_detectionsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire
  • namestringobligatoire
  • categoriesarrayobligatoire
  • Chaque élémentstring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobligatoire

    enum: "high", "medium", "low"

  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject
  • kindstringobligatoire

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobligatoire
  • statusstringobligatoire

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobligatoire
  • Chaque élémentstring
  • recommendationstringobligatoire

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • capabilitystringobligatoire

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobligatoire

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobligatoire
  • Chaque élémentstring
  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/discovery' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain": "example",
  "stream_kind": "default"
}'
PUT/v1/workspaces/{workspaceId}/onboarding/discovery

confirmWorkspaceDomainDiscovery

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • company_namestringobligatoire

    minLength: 1 · maxLength: 200

  • summarystringobligatoire

    minLength: 1 · maxLength: 4000

  • audiencestring

    maxLength: 2000

  • offeringsarray

    maxItems: 8

  • Chaque élémentstring

    maxLength: 120

  • website_urlstring | null

    format: "uri"

  • connection_planarrayobligatoire

    maxItems: 30

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • capabilitystringobligatoire

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobligatoire

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

Réponse réussie 200

Contexte d’entreprise et plan de connexion suggéré confirmés.

application/json

  • valueobject
  • dataobjectobligatoire
  • domainstringobligatoire
  • scan_statusstringobligatoire

    enum: "complete", "partial", "failed"

  • companyobjectobligatoire
  • domainstringobligatoire
  • website_urlstring | nullobligatoire

    format: "uri"

  • website_statusstringobligatoire

    enum: "available", "missing", "blocked", "error"

  • company_namestringobligatoire
  • summarystringobligatoire
  • audiencestringobligatoire
  • offeringsarrayobligatoire
  • Chaque élémentstring
  • logo_urlstring | nullobligatoire

    format: "uri"

  • favicon_urlstring | nullobligatoire

    format: "uri"

  • visual_identityobjectobligatoire
  • colorsarrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • fontsarrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • tonearrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • source_confidencestringobligatoire

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobligatoire

    maxItems: 6

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • rolestringobligatoire

    enum: "primary", "accent", "background", "surface", "text", "other"

    Imbrications supplémentaires omises

  • namestringobligatoire

    Imbrications supplémentaires omises

  • typographyarrayobligatoire

    maxItems: 6

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • familystringobligatoire

    Imbrications supplémentaires omises

  • rolestringobligatoire

    enum: "heading", "body", "mono", "other"

    Imbrications supplémentaires omises

  • weightsarrayobligatoire

    Imbrications supplémentaires omises

  • assetsarrayobligatoire

    maxItems: 8

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • urlstringobligatoire

    format: "uri"

    Imbrications supplémentaires omises

  • kindstringobligatoire

    enum: "logo", "wordmark", "favicon", "hero"

    Imbrications supplémentaires omises

  • sourcestringobligatoire

    Imbrications supplémentaires omises

  • brand_summarystringobligatoire
  • imagery_stylearrayobligatoire

    maxItems: 6

  • Chaque élémentstring
  • source_snapshotobjectobligatoire
  • Propriété supplémentaireToute valeur
  • dns_signalsarrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire
  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobligatoire
  • ttlintegerobligatoire

    minimum: 0

  • dns_providernon préciséobligatoire
  • oneOf 1object

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • confidencestringobligatoire

    enum: "high", "medium", "low"

  • dashboard_urlstringobligatoire

    format: "uri"

  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • oneOf 2null
  • provider_detectionsarrayobligatoire
  • Chaque élémentobject
  • keystringobligatoire
  • namestringobligatoire
  • categoriesarrayobligatoire
  • Chaque élémentstring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobligatoire

    enum: "high", "medium", "low"

  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • capability_summaryarrayobligatoire
  • Chaque élémentobject
  • kindstringobligatoire

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobligatoire
  • statusstringobligatoire

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobligatoire
  • Chaque élémentstring
  • recommendationstringobligatoire

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • keystringobligatoire
  • namestringobligatoire
  • categorystringobligatoire

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatoire

    enum: "required", "recommended"

  • reasonstringobligatoire
  • sourcestringobligatoire

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatoire

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatoire
  • provider_keystring
  • evidencearrayobligatoire
  • Chaque élémentobject
  • namestringobligatoire

    Imbrications supplémentaires omises

  • typestringobligatoire

    enum: "MX", "TXT", "CNAME", "NS"

    Imbrications supplémentaires omises

  • valuestringobligatoire

    Imbrications supplémentaires omises

  • ttlintegerobligatoire

    minimum: 0

    Imbrications supplémentaires omises

  • connection_planarrayobligatoire
  • Chaque élémentobject

    Aucune propriété supplémentaire

  • capabilitystringobligatoire

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobligatoire

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobligatoire
  • Chaque élémentstring
  • scanned_atstringobligatoire

    format: "date-time"

  • confirmed_atstring | nullobligatoire

    format: "date-time"

Exemple curl

curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/discovery' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "company_name": "example",
  "summary": "example",
  "audience": "example",
  "offerings": [
    "example"
  ],
  "website_url": "https://example.com",
  "connection_plan": [
    {
      "capability": "work_mailbox",
      "provider_key": "example",
      "action": "connect",
      "domain": "example"
    }
  ]
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/confirm-connection

Confirmer la connexion OAuth actuelle de l’agent

Nécessite l’identifiant OAuth installé dans le client d’agent actuel et la portée automation:read.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • statusstringobligatoire

    enum: "connected"

  • messagestringobligatoire
  • workspace_idstringobligatoire

    format: "uuid"

  • client_namestringobligatoire
  • confirmed_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/confirm-connection' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Accès

GET/v1/workspaces/{workspaceId}/access

Listez les membres de l’espace de travail et invitations actives.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Annuaire de l’espace de travail.

application/json

  • valueobject
  • dataobjectobligatoire
  • actorIdstringobligatoire
  • identitiesarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • userIdstringobligatoire
  • emailstring

    format: "email"

  • displayNamestring
  • kindstringobligatoire

    const: "user"

  • rolestringobligatoire

    enum: "owner", "admin", "member", "viewer"

  • statusstringobligatoire

    enum: "active", "suspended"

  • pendingInvitationsarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • codestringobligatoire

    format: "uuid"

  • inviteCodestring

    format: "uuid"

  • invitedEmailstring

    format: "email"

  • workspaceIdstringobligatoire

    format: "uuid"

  • workspaceNamestringobligatoire
  • rolestringobligatoire

    enum: "admin", "member", "viewer"

  • accessScopestring

    const: "workspace"

  • statusstringobligatoire

    enum: "pending", "accepted"

  • expiresAtstringobligatoire

    format: "date-time"

  • notificationSentboolean

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/access' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Invitations

POST/v1/workspaces/{workspaceId}/invitations

Invitez un acteur humain dans l’espace de travail.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • emailstringobligatoire

    format: "email" · maxLength: 320

  • rolestring

    default: "member" · enum: "admin", "member", "viewer"

  • mailbox_idsarray

    maxItems: 250

  • Chaque élémentstring

    format: "uuid"

  • send_modestring

    default: "direct" · enum: "direct", "approval_required"

  • expires_in_hoursinteger

    minimum: 1 · maximum: 720 · default: 168

Réponse réussie 201

Invitation créée.

application/json

  • valueobject
  • dataobjectobligatoire
  • idstringobligatoire

    format: "uuid"

  • codestringobligatoire

    format: "uuid"

  • inviteCodestring

    format: "uuid"

  • invitedEmailstring

    format: "email"

  • workspaceIdstringobligatoire

    format: "uuid"

  • workspaceNamestringobligatoire
  • rolestringobligatoire

    enum: "admin", "member", "viewer"

  • accessScopestring

    const: "workspace"

  • statusstringobligatoire

    enum: "pending", "accepted"

  • expiresAtstringobligatoire

    format: "date-time"

  • notificationSentboolean

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/invitations' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "email": "person@example.com",
  "role": "member",
  "mailbox_ids": [
    "00000000-0000-4000-8000-000000000001"
  ],
  "send_mode": "direct",
  "expires_in_hours": 168
}'

Clés API

GET/v1/workspaces/{workspaceId}/api-keys

listWorkspaceApiKeys

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Clés API actives à portées définies. Les valeurs secrètes ne sont jamais renvoyées.

application/json

  • valueobject
  • dataarrayobligatoire
  • Chaque élémentobject
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • prefixstringobligatoire
  • scopesarrayobligatoire
  • Chaque élémentstring

    enum: "mail:read", "mail:write", "mail:send", "contacts:read", "contacts:write", "campaigns:read", "campaigns:write", "campaigns:send", "automation:read", "automation:execute", "connections:read", "connections:use", "connections:admin", "workspace:admin"

  • expires_atstring

    format: "date-time"

  • last_used_atstring

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/api-keys' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/api-keys

createWorkspaceApiKey

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 100

  • scopesarrayobligatoire

    minItems: 1 · uniqueItems: true

  • Chaque élémentstring

    enum: "mail:read", "mail:write", "mail:send", "contacts:read", "contacts:write", "campaigns:read", "campaigns:write", "campaigns:send", "automation:read", "automation:execute", "connections:read", "connections:use", "connections:admin", "workspace:admin"

  • expires_atstring

    format: "date-time"

Réponse réussie 201

Clé API créée. Le jeton n’est renvoyé qu’une fois.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • prefixstringobligatoire
  • scopesarrayobligatoire
  • Chaque élémentstring

    enum: "mail:read", "mail:write", "mail:send", "contacts:read", "contacts:write", "campaigns:read", "campaigns:write", "campaigns:send", "automation:read", "automation:execute", "connections:read", "connections:use", "connections:admin", "workspace:admin"

  • expires_atstring

    format: "date-time"

  • last_used_atstring

    format: "date-time"

  • created_atstringobligatoire

    format: "date-time"

  • allOf 2object
  • tokenstringobligatoire
  • smtpobject

    Comment une application qui envoie uniquement via SMTP (Supabase Auth, Auth0, WordPress, modules mail de frameworks) envoie via Banger. Le mot de passe est une clé API avec mail:send ; Banger relaie chaque message tel qu’écrit et ne répond qu’après réussite de toutes les vérifications. Présent uniquement pour une clé pouvant envoyer des e-mails, dans un environnement dont l’hôte de soumission répond.

  • hoststringobligatoire
  • portintegerobligatoire

    TLS implicite, recommandé.

  • starttls_portintegerobligatoire

    STARTTLS avant AUTH.

  • alternate_portsobjectobligatoire

    Les deux mêmes services d’écoute, pour les réseaux bloquant 465 et 587.

  • tlsintegerobligatoire
  • starttlsintegerobligatoire
  • usernamestringobligatoire

    Tout nom d’utilisateur fonctionne ; la clé seule identifie l’espace de travail et le produit.

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/api-keys' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example",
  "scopes": [
    "mail:read"
  ],
  "expires_at": "2026-01-01T00:00:00Z"
}'
DELETE/v1/workspaces/{workspaceId}/api-keys/{apiKeyId}

revokeWorkspaceApiKey

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

apiKeyId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 204

Clé API révoquée.

Aucun corps de réponse.

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/api-keys/{apiKeyId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Facturation

GET/v1/workspaces/{workspaceId}/billing

Lire la facturation, l’utilisation et les forfaits disponibles

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • billingobjectobligatoire
  • workspaceIdstringobligatoire

    format: "uuid"

  • tierstringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobligatoire
  • planIntervalstring | nullobligatoire

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobligatoire
  • stripeSubscriptionIdstring | nullobligatoire
  • currentPeriodEndinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • cancelAtPeriodEndbooleanobligatoire
  • prepaidPlanKeystring | nullobligatoire
  • prepaidUntilinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • usageobjectobligatoire
  • storageBytesnumberobligatoire
  • storageLimitBytesnumberobligatoire
  • sendsThisMonthnumberobligatoire
  • sendLimitnumberobligatoire
  • sendsTodaynumberobligatoire
  • dailySendLimitnumber | nullobligatoire
  • periodEndinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • catalogobjectobligatoire
  • plansarrayobligatoire
  • Chaque élémentobject
  • planKeystringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobligatoire
  • sendLimitnumberobligatoire
  • storageGbnumberobligatoire
  • gmailImportLimitnumberobligatoire
  • triageRuleLimitnumberobligatoire
  • triageRunLimitnumberobligatoire
  • pricesarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • addonsarrayobligatoire

    maxItems: 0

  • Chaque élémentnon précisé
  • agentPaymentnon préciséobligatoire
  • anyOf 1object
  • network_idstringobligatoire
  • currencystringobligatoire

    enum: "usd"

  • howstringobligatoire
  • optionsarrayobligatoire
  • Chaque élémentobject
  • plan_keystringobligatoire

    enum: "starter", "pro"

    Imbrications supplémentaires omises

  • intervalstringobligatoire

    enum: "month", "year"

    Imbrications supplémentaires omises

  • monthsintegerobligatoire

    enum: 1, 12

    Imbrications supplémentaires omises

  • amount_centsintegerobligatoire

    What to mint the token for

    Imbrications supplémentaires omises

  • discountobject

    Imbrications supplémentaires omises

  • anyOf 2null
  • switchOffernon précisé

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobligatoire

    enum: "switch_from_mailchimp"

  • sourcestringobligatoire

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobligatoire

    enum: "year"

  • plansarrayobligatoire
  • Chaque élémentobject
  • planKeystringobligatoire

    enum: "starter", "pro", "business", "scale"

    Imbrications supplémentaires omises

  • currencystringobligatoire

    Imbrications supplémentaires omises

  • yearlyPriceintegerobligatoire

    In the currency's smallest unit.

    Imbrications supplémentaires omises

  • firstYearPriceintegerobligatoire

    In the currency's smallest unit.

    Imbrications supplémentaires omises

  • messagestringobligatoire
  • anyOf 2null

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/billing' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/billing

Synchroniser la facturation depuis Stripe

Alias de POST /billing/sync. Nécessite workspace:admin.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • billingobjectobligatoire
  • workspaceIdstringobligatoire

    format: "uuid"

  • tierstringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobligatoire
  • planIntervalstring | nullobligatoire

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobligatoire
  • stripeSubscriptionIdstring | nullobligatoire
  • currentPeriodEndinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • cancelAtPeriodEndbooleanobligatoire
  • prepaidPlanKeystring | nullobligatoire
  • prepaidUntilinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • usageobjectobligatoire
  • storageBytesnumberobligatoire
  • storageLimitBytesnumberobligatoire
  • sendsThisMonthnumberobligatoire
  • sendLimitnumberobligatoire
  • sendsTodaynumberobligatoire
  • dailySendLimitnumber | nullobligatoire
  • periodEndinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • catalogobjectobligatoire
  • plansarrayobligatoire
  • Chaque élémentobject
  • planKeystringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobligatoire
  • sendLimitnumberobligatoire
  • storageGbnumberobligatoire
  • gmailImportLimitnumberobligatoire
  • triageRuleLimitnumberobligatoire
  • triageRunLimitnumberobligatoire
  • pricesarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • addonsarrayobligatoire

    maxItems: 0

  • Chaque élémentnon précisé
  • agentPaymentnon préciséobligatoire
  • anyOf 1object
  • network_idstringobligatoire
  • currencystringobligatoire

    enum: "usd"

  • howstringobligatoire
  • optionsarrayobligatoire
  • Chaque élémentobject
  • plan_keystringobligatoire

    enum: "starter", "pro"

    Imbrications supplémentaires omises

  • intervalstringobligatoire

    enum: "month", "year"

    Imbrications supplémentaires omises

  • monthsintegerobligatoire

    enum: 1, 12

    Imbrications supplémentaires omises

  • amount_centsintegerobligatoire

    What to mint the token for

    Imbrications supplémentaires omises

  • discountobject

    Imbrications supplémentaires omises

  • anyOf 2null
  • switchOffernon précisé

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobligatoire

    enum: "switch_from_mailchimp"

  • sourcestringobligatoire

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobligatoire

    enum: "year"

  • plansarrayobligatoire
  • Chaque élémentobject
  • planKeystringobligatoire

    enum: "starter", "pro", "business", "scale"

    Imbrications supplémentaires omises

  • currencystringobligatoire

    Imbrications supplémentaires omises

  • yearlyPriceintegerobligatoire

    In the currency's smallest unit.

    Imbrications supplémentaires omises

  • firstYearPriceintegerobligatoire

    In the currency's smallest unit.

    Imbrications supplémentaires omises

  • messagestringobligatoire
  • anyOf 2null

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/billing' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/billing/sync

Synchroniser le dernier abonnement Stripe

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • billingobjectobligatoire
  • workspaceIdstringobligatoire

    format: "uuid"

  • tierstringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobligatoire
  • planIntervalstring | nullobligatoire

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobligatoire
  • stripeSubscriptionIdstring | nullobligatoire
  • currentPeriodEndinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • cancelAtPeriodEndbooleanobligatoire
  • prepaidPlanKeystring | nullobligatoire
  • prepaidUntilinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • usageobjectobligatoire
  • storageBytesnumberobligatoire
  • storageLimitBytesnumberobligatoire
  • sendsThisMonthnumberobligatoire
  • sendLimitnumberobligatoire
  • sendsTodaynumberobligatoire
  • dailySendLimitnumber | nullobligatoire
  • periodEndinteger | nullobligatoire

    Horodatage Unix en millisecondes.

  • catalogobjectobligatoire
  • plansarrayobligatoire
  • Chaque élémentobject
  • planKeystringobligatoire

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobligatoire
  • sendLimitnumberobligatoire
  • storageGbnumberobligatoire
  • gmailImportLimitnumberobligatoire
  • triageRuleLimitnumberobligatoire
  • triageRunLimitnumberobligatoire
  • pricesarrayobligatoire
  • Chaque élémentobject

    Imbrications supplémentaires omises

  • addonsarrayobligatoire

    maxItems: 0

  • Chaque élémentnon précisé
  • agentPaymentnon préciséobligatoire
  • anyOf 1object
  • network_idstringobligatoire
  • currencystringobligatoire

    enum: "usd"

  • howstringobligatoire
  • optionsarrayobligatoire
  • Chaque élémentobject
  • plan_keystringobligatoire

    enum: "starter", "pro"

    Imbrications supplémentaires omises

  • intervalstringobligatoire

    enum: "month", "year"

    Imbrications supplémentaires omises

  • monthsintegerobligatoire

    enum: 1, 12

    Imbrications supplémentaires omises

  • amount_centsintegerobligatoire

    What to mint the token for

    Imbrications supplémentaires omises

  • discountobject

    Imbrications supplémentaires omises

  • anyOf 2null
  • switchOffernon précisé

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobligatoire

    enum: "switch_from_mailchimp"

  • sourcestringobligatoire

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobligatoire

    enum: "year"

  • plansarrayobligatoire
  • Chaque élémentobject
  • planKeystringobligatoire

    enum: "starter", "pro", "business", "scale"

    Imbrications supplémentaires omises

  • currencystringobligatoire

    Imbrications supplémentaires omises

  • yearlyPriceintegerobligatoire

    In the currency's smallest unit.

    Imbrications supplémentaires omises

  • firstYearPriceintegerobligatoire

    In the currency's smallest unit.

    Imbrications supplémentaires omises

  • messagestringobligatoire
  • anyOf 2null

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/billing/sync' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/billing/checkout

Démarrer le paiement ou ouvrir le portail de facturation

Nécessite workspace:admin. Seuls les forfaits payants en libre-service sont vendus. Un abonnement actif ouvre le portail client. Les champs snake_case priment sur les alias camelCase.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • plan_keystring

    enum: "starter", "pro", "business", "scale"

  • planKeystring

    enum: "starter", "pro", "business", "scale"

  • intervalstring

    default: "month" · enum: "month", "year"

  • billing_attempt_idstring

    Identifiant facultatif de nouvelle tentative : 8–64 lettres, chiffres ou tirets. Les identifiants invalides sont ignorés.

  • billingAttemptIdstring
  • anyOf 1non précisé
  • anyOf 2non précisé

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • urlstringobligatoire

    format: "uri"

  • kindstringobligatoire

    enum: "checkout", "portal"

  • discountnon précisé

    The switch-from-Mailchimp month applied to this yearly checkout.

  • allOf 1object

    Switch from Mailchimp: one month off the first yearly invoice.

  • offerstringobligatoire

    enum: "switch_from_mailchimp"

  • sourcestringobligatoire

    enum: "signup_campaign", "mailchimp_connection"

  • planKeystringobligatoire

    enum: "starter", "pro", "business", "scale"

  • intervalstringobligatoire

    enum: "year"

  • currencystringobligatoire

    Lowercase ISO currency the amounts are in.

  • amountOffintegerobligatoire

    In the currency's smallest unit.

  • yearlyPriceintegerobligatoire

    In the currency's smallest unit.

  • firstYearPriceintegerobligatoire

    In the currency's smallest unit.

  • messagestringobligatoire

    A sentence to tell the person.

  • switchOffernon précisé

    On a monthly checkout, the month a yearly one would get instead.

  • allOf 1object

    Switch from Mailchimp: one month off the first yearly invoice.

  • offerstringobligatoire

    enum: "switch_from_mailchimp"

  • sourcestringobligatoire

    enum: "signup_campaign", "mailchimp_connection"

  • planKeystringobligatoire

    enum: "starter", "pro", "business", "scale"

  • intervalstringobligatoire

    enum: "year"

  • currencystringobligatoire

    Lowercase ISO currency the amounts are in.

  • amountOffintegerobligatoire

    In the currency's smallest unit.

  • yearlyPriceintegerobligatoire

    In the currency's smallest unit.

  • firstYearPriceintegerobligatoire

    In the currency's smallest unit.

  • messagestringobligatoire

    A sentence to tell the person.

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/billing/checkout' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '"example"'
POST/v1/workspaces/{workspaceId}/billing/portal

Ouvrir le portail de facturation client

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • urlstringobligatoire

    format: "uri"

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/billing/portal' \
  --header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/billing/agent-payment

Acheter du temps de forfait prépayé avec un Shared Payment Token

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject
  • plan_keystringobligatoire

    enum: "starter", "pro"

  • intervalstring

    default: "month" · enum: "month", "year"

  • shared_payment_tokenstringobligatoire

    pattern: "^spt_[A-Za-z0-9_]{6,200}$"

Réponse réussie 200

Réponse réussie.

application/json

  • valueobject
  • dataobjectobligatoire
  • statusstringobligatoire
  • payment_intent_idstringobligatoire
  • messagestringobligatoire
  • plan_keystring

    enum: "starter", "pro"

  • prepaid_untilstring | null

    format: "date-time"

  • amount_centsinteger

    What was charged.

  • discountobject
  • offerstringobligatoire

    enum: "switch_from_mailchimp"

  • amount_off_centsintegerobligatoire
  • full_price_centsintegerobligatoire
  • messagestringobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/billing/agent-payment' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "plan_key": "starter",
  "interval": "month",
  "shared_payment_token": "example"
}'

Espaces de travail

POST/v1/workspaces

createWorkspace

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
Idempotency-Key
header · obligatoire
  • valuestring

    minLength: 16 · maxLength: 128

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 200

Réponse réussie 200

Répétition idempotente d’un espace de travail créé précédemment.

application/json

  • valueobject
  • datanon préciséobligatoire
  • allOf 1object
  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • shardstringobligatoire
  • rolestringobligatoire

    enum: "owner", "admin", "member", "viewer"

  • revisionintegerobligatoire

    format: "int64"

  • name_sourcestringobligatoire

    Origine du nom de l’espace de travail : signup (nom automatique d’inscription), brand (entreprise ou marque confirmée lors de la configuration initiale), ou user (saisi par une personne ; les confirmations de marque ne le renomment plus).

    enum: "signup", "brand", "user"

  • owner_emailstring | nullobligatoire

    Adresse e-mail du propriétaire actif le plus ancien. Null si l’appelant est une clé API statique ou si le propriétaire n’a pas d’adresse enregistrée.

  • avatar_urlstring | nullobligatoire

    Symbole de marque de l’espace de travail : logo de marque du produit par défaut, sinon logo de la découverte d’entreprise confirmée la plus récemment.

  • allOf 2object
  • replayedbooleanobligatoire

Exemple curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example"
}'
GET/v1/workspaces/{workspaceId}

Lisez l’espace de travail, son propriétaire et les autres espaces de la personne connectée.

Tout acteur autorisé pour l’espace de travail peut le lire. other_workspaces liste les autres appartenances actives de la personne connectée. Une autorisation OAuth ou une clé API n’est autorisée que pour cet espace et ne reçoit aucune information sur les autres : other_workspaces est donc vide et la réponse le précise dans une note. Une clé API statique ne représente aucune personne : owner_email est donc null.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 200

L’espace de travail tel que vu par l’appelant.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • name_sourcestringobligatoire

    Origine du nom de l’espace de travail : signup (nom automatique d’inscription), brand (entreprise ou marque confirmée lors de la configuration initiale), ou user (saisi par une personne ; les confirmations de marque ne le renomment plus).

    enum: "signup", "brand", "user"

  • rolestringobligatoire

    enum: "owner", "admin", "member", "viewer"

  • owner_emailstring | nullobligatoire
  • avatar_urlstring | nullobligatoire
  • other_workspacesarrayobligatoire

    maxItems: 50

  • Chaque élémentobject

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • rolestringobligatoire

    enum: "owner", "admin", "member", "viewer"

  • notestring

    Présent pour les appelants clé API et OAuth dont la connexion n’est autorisée que pour cet espace de travail.

Exemple curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}

Renommez un espace de travail.

Nécessite un propriétaire ou administrateur actif ; les identifiants doivent avoir workspace:admin pour cet espace. Les espaces périphériques du nom sont retirés et il doit contenir 1-80 caractères. Un nom saisi est définitif : les confirmations de marque ultérieures ne renomment plus l’espace (name_source devient user). Incrémente la révision de l’espace et consigne une modification "workspace".

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête obligatoire

application/json

  • valueobject

    Aucune propriété supplémentaire

  • namestringobligatoire

    minLength: 1 · maxLength: 80

Réponse réussie 200

L’espace de travail a été renommé.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire

    minLength: 1 · maxLength: 80

  • name_sourcestringobligatoire

    const: "user"

Exemple curl

curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "example"
}'
DELETE/v1/workspaces/{workspaceId}

Supprimez définitivement un espace de travail possédé et mettez en file le nettoyage des objets physiques.

L’acteur authentifié doit être propriétaire. Les clés API statiques de l’espace ne peuvent pas le supprimer ; une session humaine ou une autorisation OAuth de l’utilisateur avec workspace:admin est requise. Les abonnements payants doivent d’abord être annulés. L’état PostgreSQL est supprimé atomiquement et toutes les versions d’objets B2 sous le préfixe de l’espace sont purgées de manière asynchrone.

Authentification : clé API Bearer de l’espace de travail.

Paramètres

Nom / emplacementSchéma
workspaceId
path · obligatoire
  • valuestring

    format: "uuid"

Corps de la requête

Le contrat ne précise aucun corps de requête.

Réponse réussie 202

L’espace de travail canonique a été supprimé et le nettoyage des objets physiques mis en file.

application/json

  • valueobject
  • dataobjectobligatoire

    Aucune propriété supplémentaire

  • idstringobligatoire

    format: "uuid"

  • namestringobligatoire
  • deletedbooleanobligatoire

    const: true

  • storage_cleanupstringobligatoire

    const: "queued"

  • next_workspace_idstring

    format: "uuid"

Exemple curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"