Riferimento API Banger

Usa l’API Banger per gestire caselle e contatti, inviare email ed eseguire campagne e percorsi nel tuo workspace.

Collegati al tuo workspace

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

Scarica OpenAPI (JSON OpenAPI 3.1 con le stesse operazioni di questa pagina), per generatori di codice, client API e agenti IA.

In l’app Banger, apri Impostazioni → Sviluppatori → Gestisci chiavi API. Scegli Crea chiave API, inserisci un nome, seleziona gli ambiti necessari alla tua applicazione e scegli Crea chiave. Copia subito la chiave: viene mostrata una sola volta e non può essere recuperata.

Le chiavi del workspace hanno il formato bgr_<12-character prefix>_<secret>. Imposta la chiave come BANGER_API_KEY nel tuo ambiente e autentica le richieste al workspace con:

Authorization: Bearer <workspace API key>

Le route pubbliche dei moduli di iscrizione qui sotto non richiedono autenticazione. Ogni operazione indica se richiede un token Bearer. Prima di eseguire gli esempi, sostituisci i segnaposto del percorso come {workspaceId} con gli ID delle tue risorse.

Richieste e risposte

Le risposte JSON in genere racchiudono i risultati in { data } e gli errori in { error: { code, message } }. Alcuni endpoint restituiscono altri formati o nessun contenuto; consulta la definizione della risposta per l’operazione.

Invia Idempotency-Key dove indicato nei parametri dell’header, riutilizzando la stessa chiave quando ripeti la stessa richiesta. Il contratto definisce vincoli di lunghezza diversi per le diverse operazioni; segui la tabella dei parametri.

La paginazione dipende dall’endpoint. Dove compaiono i parametri condivisi cursor e limit, il cursore è una stringa (fino a 1,024 caratteri) e il limite predefinito è 50, con un intervallo di 1–100. Altri endpoint definiscono parametri e campi di risposta propri, come next_cursor; segui questi schemi.

Gli esempi sono generati dagli esempi, valori predefiniti, enum e tipi di schema del contratto. Sostituisci i valori illustrativi con i tuoi dati. L’assenza di uno schema del corpo o della risposta è indicata qui sotto.

Queste funzionalità sono disponibili anche agli assistenti IA tramite Server MCP Banger.

Prodotti

GET/v1/workspaces/{workspaceId}/products

Elenca i prodotti del workspace

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • slugstringobbligatorio
  • kindstringobbligatorio

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

  • website_urlstring | nullobbligatorio
  • domainsarrayobbligatorio
  • Ogni elementostring
  • descriptionstringobbligatorio
  • contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • statusstringobbligatorio

    deleting: eliminato da una persona; ripristinabile fino a delete_after, poi rimosso definitivamente.

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

  • delete_afterstring | null

    Quando un prodotto in stato deleting viene rimosso definitivamente.

    format: "date-time"

  • is_defaultbooleanobbligatorio
  • route_readybooleanobbligatorio
  • setuparrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • statusstringobbligatorio

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

  • completion_sourcestring | nullobbligatorio

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

  • notestringobbligatorio
  • updated_atstring | nullobbligatorio

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio curl

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

Crea un prodotto

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestringobbligatorio

    minLength: 1 · maxLength: 160

  • kindstring

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

  • website_urlstring | null

    maxLength: 2000

  • descriptionstring

    maxLength: 4000

  • contextobject
  • Proprietà aggiuntivaQualsiasi valore
  • domainsarray

    maxItems: 20

  • Ogni elementostring

    maxLength: 253

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • slugstringobbligatorio
  • kindstringobbligatorio

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

  • website_urlstring | nullobbligatorio
  • domainsarrayobbligatorio
  • Ogni elementostring
  • descriptionstringobbligatorio
  • contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • statusstringobbligatorio

    deleting: eliminato da una persona; ripristinabile fino a delete_after, poi rimosso definitivamente.

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

  • delete_afterstring | null

    Quando un prodotto in stato deleting viene rimosso definitivamente.

    format: "date-time"

  • is_defaultbooleanobbligatorio
  • route_readybooleanobbligatorio
  • setuparrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • statusstringobbligatorio

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

  • completion_sourcestring | nullobbligatorio

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

  • notestringobbligatorio
  • updated_atstring | nullobbligatorio

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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}

Ottieni un prodotto

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

productId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • slugstringobbligatorio
  • kindstringobbligatorio

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

  • website_urlstring | nullobbligatorio
  • domainsarrayobbligatorio
  • Ogni elementostring
  • descriptionstringobbligatorio
  • contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • statusstringobbligatorio

    deleting: eliminato da una persona; ripristinabile fino a delete_after, poi rimosso definitivamente.

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

  • delete_afterstring | null

    Quando un prodotto in stato deleting viene rimosso definitivamente.

    format: "date-time"

  • is_defaultbooleanobbligatorio
  • route_readybooleanobbligatorio
  • setuparrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • statusstringobbligatorio

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

  • completion_sourcestring | nullobbligatorio

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

  • notestringobbligatorio
  • updated_atstring | nullobbligatorio

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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}

Aggiorna un prodotto

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

productId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestring

    maxLength: 160

  • kindstring

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

  • website_urlstring | null

    maxLength: 2000

  • descriptionstring

    maxLength: 4000

  • contextobject
  • Proprietà aggiuntivaQualsiasi valore
  • brandobject
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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"

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • slugstringobbligatorio
  • kindstringobbligatorio

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

  • website_urlstring | nullobbligatorio
  • domainsarrayobbligatorio
  • Ogni elementostring
  • descriptionstringobbligatorio
  • contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • statusstringobbligatorio

    deleting: eliminato da una persona; ripristinabile fino a delete_after, poi rimosso definitivamente.

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

  • delete_afterstring | null

    Quando un prodotto in stato deleting viene rimosso definitivamente.

    format: "date-time"

  • is_defaultbooleanobbligatorio
  • route_readybooleanobbligatorio
  • setuparrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • statusstringobbligatorio

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

  • completion_sourcestring | nullobbligatorio

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

  • notestringobbligatorio
  • updated_atstring | nullobbligatorio

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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}

Elimina un prodotto (un progetto nell’app) dopo aver esaminato l’anteprima di eliminazione. Viene subito disattivato (l’invio si ferma) e resta ripristinabile per 24 ore; poi Banger rimuove i suoi domini di invio e tutte le righe che gli appartengono. L’ultimo prodotto attivo del workspace non può essere eliminato. Richiede un amministratore del workspace e una sessione autenticata; chiavi API e autorizzazioni OAuth sono rifiutate.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

productId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • confirm_namestringobbligatorio

    Il nome esatto del prodotto.

    minLength: 1 · maxLength: 160

  • preview_tokenstringobbligatorio

    minLength: 64 · maxLength: 64

Risposta di successo 202

Il prodotto è disattivato e viene eliminato definitivamente a delete_after se non viene prima ripristinato. Una ripetizione idempotente restituisce lo stesso risultato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio

    enum: "deleting"

  • delete_afterstringobbligatorio

    Quando il prodotto viene eliminato definitivamente; fino ad allora può essere ripristinato.

    format: "date-time"

  • next_product_idstringobbligatorio

    Il prodotto predefinito attuale del workspace.

    format: "uuid"

  • replayedboolean

Esempio 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

Visualizza l’anteprima dell’eliminazione di un prodotto e di tutto ciò che gli appartiene, senza eliminare nulla. Richiede un amministratore del workspace, autenticato o tramite OAuth autorizzato dall’utente.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

productId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Cosa rimuove e interrompe l’eliminazione del prodotto.

application/json

  • valueobject
  • dataobjectobbligatorio
  • productobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • is_defaultbooleanobbligatorio
  • next_default_productnon specificatoobbligatorio

    Il prodotto che diventa predefinito nel workspace quando quello predefinito viene eliminato.

  • oneOf 1null
  • oneOf 2object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • last_productbooleanobbligatorio

    L’unico prodotto attivo non può essere eliminato.

  • mailboxesarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • domainsarrayobbligatorio

    Domini di invio che Banger rimuove allo scadere del periodo di ripristino.

  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • domainstringobbligatorio
  • journeysintegerobbligatorio
  • broadcastsintegerobbligatorio
  • signup_formsintegerobbligatorio
  • contactsintegerobbligatorio
  • api_keysintegerobbligatorio
  • webhooksintegerobbligatorio
  • pending_sendsintegerobbligatorio
  • impactarrayobbligatorio
  • Ogni elementostring
  • preview_tokenstringobbligatorio

Esempio 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

Ripristina un prodotto eliminato prima di delete_after. Caselle, Percorsi, moduli di iscrizione, webhook e integrazioni vengono riattivati; le Campagne restano in pausa. Richiede un amministratore del workspace, autenticato o tramite OAuth autorizzato dall’utente.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

productId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Il prodotto è di nuovo attivo.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio

    enum: "active"

Esempio 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}

Aggiorna un elemento della configurazione del prodotto

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

productId
path · obbligatorio
  • valuestring

    format: "uuid"

key
path · obbligatorio
  • valuestring

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

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • statusstringobbligatorio

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

  • completion_sourcestring

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

  • notestring

    maxLength: 1000

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • keystringobbligatorio

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

  • statusstringobbligatorio

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

  • completion_sourcestring | nullobbligatorio

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

  • notestringobbligatorio
  • updated_atstring | nullobbligatorio

    format: "date-time"

Esempio 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

Associa un dominio a un prodotto

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

productId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • domainstringobbligatorio

    minLength: 3 · maxLength: 253

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • slugstringobbligatorio
  • kindstringobbligatorio

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

  • website_urlstring | nullobbligatorio
  • domainsarrayobbligatorio
  • Ogni elementostring
  • descriptionstringobbligatorio
  • contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • statusstringobbligatorio

    deleting: eliminato da una persona; ripristinabile fino a delete_after, poi rimosso definitivamente.

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

  • delete_afterstring | null

    Quando un prodotto in stato deleting viene rimosso definitivamente.

    format: "date-time"

  • is_defaultbooleanobbligatorio
  • route_readybooleanobbligatorio
  • setuparrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • statusstringobbligatorio

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

  • completion_sourcestring | nullobbligatorio

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

  • notestringobbligatorio
  • updated_atstring | nullobbligatorio

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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"
}'

Caselle

GET/v1/workspaces/{workspaceId}/mailboxes

listMailboxes

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Caselle visibili all’attore.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • product_idstring | null

    Il prodotto (progetto) a cui appartiene la casella. I client lo usano per raggruppare le caselle e creare link all’app web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobbligatorio

    format: "email"

  • display_namestringobbligatorio
  • providerstringobbligatorio

    enum: "gmail", "smtp"

  • statusstringobbligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobbligatorio

    enum: "domain", "starter"

Esempio curl

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

Crea una casella di lavoro nativa Banger su un dominio di invio del workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • local_partstringobbligatorio

    minLength: 1 · maxLength: 64

  • display_namestring

    maxLength: 200

Risposta di successo 200

Ripetizione idempotente della creazione di una casella nativa.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • product_idstring | null

    Il prodotto (progetto) a cui appartiene la casella. I client lo usano per raggruppare le caselle e creare link all’app web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobbligatorio

    format: "email"

  • display_namestringobbligatorio
  • providerstringobbligatorio

    enum: "gmail", "smtp"

  • statusstringobbligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobbligatorio

    enum: "domain", "starter"

Esempio 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

Anteprima dell’eliminazione definitiva di una casella e dei flussi di invio dipendenti. Richiede un amministratore del workspace e l’ambito del prodotto.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailboxId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Casella esatta e impatto attuale dell’eliminazione, senza eliminare nulla.

application/json

  • valueobject
  • dataobjectobbligatorio
  • mailboxobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • providerstringobbligatorio
  • domain_idstring | nullobbligatorio

    format: "uuid"

  • provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • messagesintegerobbligatorio
  • draftsintegerobbligatorio
  • pending_sendsintegerobbligatorio
  • broadcastsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio
  • journeysarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio
  • signup_formsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio
  • impactarrayobbligatorio
  • Ogni elementostring
  • preview_tokenstringobbligatorio

Esempio 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}

Imposta il nome del mittente che i destinatari vedono nella posta di una casella Banger ("Name <address>"). Le caselle Gmail mantengono il nome impostato in Gmail. Richiede un amministratore del workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailboxId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • display_namestringobbligatorio

    Una riga. Se vuota, invia il solo indirizzo.

    maxLength: 200

Risposta di successo 200

La casella con il suo nome del mittente.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • product_idstring | null

    Il prodotto (progetto) a cui appartiene la casella. I client lo usano per raggruppare le caselle e creare link all’app web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobbligatorio

    format: "email"

  • display_namestringobbligatorio
  • providerstringobbligatorio

    enum: "gmail", "smtp"

  • statusstringobbligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobbligatorio

    enum: "domain", "starter"

Esempio 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}

Elimina definitivamente una casella, conservandone il dominio e le altre caselle. Richiede un amministratore del workspace e l’ambito del prodotto.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailboxId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • confirm_addressstringobbligatorio

    minLength: 3 · maxLength: 320

  • preview_tokenstringobbligatorio

    minLength: 64 · maxLength: 64

Risposta di successo 200

Eliminato o ripetizione idempotente. I file archiviati vengono messi in coda per la pulizia definitiva.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • deletedbooleanobbligatorio
  • replayedboolean

Esempio 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

Crea una casella ospitata limitata alle caselle ospitate dello stesso prodotto e al destinatario di iscrizione del workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • create_newboolean

    Crea un’ulteriore casella ospitata invece di riprendere quella iniziale.

  • local_partstring

    Nome prima di @bangermail.com. Senza, la casella riceve un nome composto da parole come quiet-maple-harbor.

    minLength: 3 · maxLength: 40

  • display_namestring

    maxLength: 200

Risposta di successo 200

Ripetizione idempotente della creazione dell’identità iniziale.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • product_idstring | null

    Il prodotto (progetto) a cui appartiene la casella. I client lo usano per raggruppare le caselle e creare link all’app web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobbligatorio

    format: "email"

  • display_namestringobbligatorio
  • providerstringobbligatorio

    enum: "gmail", "smtp"

  • statusstringobbligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobbligatorio

    enum: "domain", "starter"

Esempio 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

Rimuovi la pausa dovuta alla reputazione del mittente per una casella, secondo le regole di ripresa autonoma di resumeSending.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailboxId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • acknowledge_recipient_complaintbooleanobbligatorio

    const: true

  • reasonstring

    Motivo del ripristino dell’invio; registrato nel log di controllo.

    maxLength: 500

Risposta di successo 200

Casella riattivata, o già attiva dopo una richiesta precedente riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • product_idstring | null

    Il prodotto (progetto) a cui appartiene la casella. I client lo usano per raggruppare le caselle e creare link all’app web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobbligatorio

    format: "email"

  • display_namestringobbligatorio
  • providerstringobbligatorio

    enum: "gmail", "smtp"

  • statusstringobbligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobbligatorio

    enum: "domain", "starter"

Esempio 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"
}'

Bozze

GET/v1/workspaces/{workspaceId}/drafts

listDrafts

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstring | nullobbligatorio

    format: "uuid"

  • versionintegerobbligatorio
  • toarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • ccarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • bccarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • statusstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • attachmentsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • content_typestringobbligatorio
  • size_bytesintegerobbligatorio
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • toarray

    maxItems: 500

  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • ccarray

    maxItems: 500

  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • bccarray

    maxItems: 500

  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstring | nullobbligatorio

    format: "uuid"

  • versionintegerobbligatorio
  • toarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • ccarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • bccarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • statusstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • attachmentsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • content_typestringobbligatorio
  • size_bytesintegerobbligatorio
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

draftId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Prestazioni, stato e incidenti canonici di recapitabilità.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstring | nullobbligatorio

    format: "uuid"

  • versionintegerobbligatorio
  • toarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • ccarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • bccarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • statusstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • attachmentsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • content_typestringobbligatorio
  • size_bytesintegerobbligatorio
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

draftId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valuenon specificato
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • toarray

    maxItems: 500

  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • ccarray

    maxItems: 500

  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • bccarray

    maxItems: 500

  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • allOf 2object
  • versionintegerobbligatorio

    minimum: 1

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstring | nullobbligatorio

    format: "uuid"

  • versionintegerobbligatorio
  • toarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • ccarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • bccarrayobbligatorio
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • statusstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • attachmentsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • content_typestringobbligatorio
  • size_bytesintegerobbligatorio
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

draftId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Bozza e oggetti referenziati programmati per l’eliminazione.

Nessun corpo della risposta.

Esempio 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

Invia la bozza dalla sua casella, che deve essere accessibile al chiamante. Se gli invii del chiamante richiedono approvazione, viene creata un’approvazione in attesa; decide una persona che potrebbe inviare direttamente la bozza.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

draftId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 202

L’invio è in coda o attende approvazione.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • oneOf 1object
  • idstringobbligatorio

    format: "uuid"

  • typestringobbligatorio
  • statusstringobbligatorio

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

  • workspace_revisionintegerobbligatorio

    format: "int64"

  • created_atstringobbligatorio

    format: "date-time"

  • oneOf 2object

    Nessuna proprietà aggiuntiva

  • approvalobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring

    Ulteriore annidamento omesso

  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • checksarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

draftId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Filename
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 500

Corpo della richiesta obbligatorio

application/octet-stream

  • valuestring

    format: "binary" · maxLength: 26214400

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • content_typestringobbligatorio
  • size_bytesintegerobbligatorio
  • sha256string
  • created_atstring

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

draftId
path · obbligatorio
  • valuestring

    format: "uuid"

attachmentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Allegato programmato per l’eliminazione in B2 tenendo conto delle versioni.

Nessun corpo della risposta.

Esempio 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

Leggi il corpo HTML di una bozza

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

draftId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

HTML della bozza.

text/html

  • valuestring

Esempio curl

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

Invio

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

listSendIntents

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Invii canonici recenti e stato presso il provider.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

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

  • traffic_classstringobbligatorio

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

  • recipient_countintegerobbligatorio

    minimum: 1

  • provider_keystringobbligatorio
  • provider_statestringobbligatorio

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

  • provider_message_idstring | null
  • error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

sendIntentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato canonico dell’invio asincrono.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

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

  • traffic_classstringobbligatorio

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

  • recipient_countintegerobbligatorio

    minimum: 1

  • provider_keystringobbligatorio
  • provider_statestringobbligatorio

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

  • provider_message_idstring | null
  • error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Esempio curl

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

Invio transazionale

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

listTransactionalSends

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 500 · default: 200

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • command_idstring | nullobbligatorio

    format: "uuid"

  • statusstringobbligatorio
  • command_statusstring | nullobbligatorio
  • subjectstring
  • recipientsarray
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • recipient_countintegerobbligatorio
  • error_codestring | null
  • send_intent_idstring

    format: "uuid"

  • providerstring | null
  • route_kindstring | null
  • sourcestring
  • from_addressstring
  • recipient_statesobject
  • Proprietà aggiuntivainteger
  • provider_message_idstring | null
  • languagenon specificato

    La lingua in cui è stata inviata questa email; null se non è stata tradotta.

  • anyOf 1object

    La lingua in cui una persona ha ricevuto un’email. Presente solo nelle email tradotte (managed-content).

  • localestringobbligatorio

    Tag BCP 47 della lingua in cui è stata scritta l’email.

  • requested_localestring

    Presente solo in un invio precedente in un’altra lingua: la lingua che la persona avrebbe dovuto ricevere.

  • fallback_reasonstring

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

  • anyOf 2null
  • journeyobject | null

    Passaggio del Percorso e iscrizione che hanno inviato questa email; null per altri invii.

  • journey_idstringobbligatorio

    format: "uuid"

  • step_idstringobbligatorio

    format: "uuid"

  • enrollment_idstringobbligatorio

    format: "uuid"

  • experimentobject | null

    La variante dell’esperimento di questa email; null se non applicabile.

  • experiment_idstringobbligatorio

    format: "uuid"

  • variant_keystringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • template_idstring | null

    format: "uuid"

  • template_versioninteger | null
  • workspace_revisioninteger | null
  • command_resultobject
  • Proprietà aggiuntivaQualsiasi valore
  • command_started_atstring | null

    format: "date-time"

  • command_completed_atstring | null

    format: "date-time"

  • body_textstring
  • body_htmlstring
  • reply_toarray
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • headersobject
  • Proprietà aggiuntivastring
  • tagsarray
  • Ogni elementoobject
  • namestringobbligatorio
  • valuestringobbligatorio

Esempio 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 destinatario per invio del Percorso. To accetta un destinatario in qualsiasi forma RecipientInput ("a@example.com", "Pat <a@example.com>", { email, name } o una lista di un elemento); Cc e Bcc devono essere vuoti. reply_to usa per default la casella del Percorso (anche una lista vuota indica il default); l’email di Prodotto ne richiede esattamente uno. Un nuovo Percorso API usa per default contenuti sorgente gestiti; i Percorsi legacy in codice mantengono invii con contenuto completo. Un rifiuto (4xx) non congela nulla per il destinatario, quindi una chiamata corretta con una nuova chiave di idempotenza invia.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • mailbox_idstringobbligatorio

    format: "uuid"

  • tonon specificatoobbligatorio

    Destinatari per to, cc, bcc e reply_to: un indirizzo ("a@example.com" o "Pat <a@example.com>"), un oggetto { email, name } o una lista che combina entrambi. Banger li archivia come oggetti { email, name } con l’email in minuscolo. L’hash di idempotenza copre il corpo così come inviato, quindi riprova con la stessa forma.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobbligatorio

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Ogni elementonon specificato
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobbligatorio

    format: "email"

  • ccarray

    maxItems: 0

  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • bccarray

    maxItems: 0

  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • subjectstring

    maxLength: 10000

  • expires_atstring

    Scarta un invio differito del Percorso dopo questo istante; al massimo sette giorni dalla richiesta originale.

    format: "date-time"

  • expires_after_secondsinteger

    minimum: 1 · maximum: 604800

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • reply_tonon specificato

    Destinatari per to, cc, bcc e reply_to: un indirizzo ("a@example.com" o "Pat <a@example.com>"), un oggetto { email, name } o una lista che combina entrambi. Banger li archivia come oggetti { email, name } con l’email in minuscolo. L’hash di idempotenza copre il corpo così come inviato, quindi riprova con la stessa forma.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobbligatorio

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Ogni elementonon specificato
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobbligatorio

    format: "email"

  • headersobject
  • Proprietà aggiuntivastring

    maxLength: 5000

  • tagsarray

    maxItems: 49

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 256

  • valuestringobbligatorio

    minLength: 1 · maxLength: 256

Risposta di successo 202

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • action_kindstringobbligatorio

    enum: "transactional.send"

  • idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • provider_attempt_idstring

    format: "uuid"

  • statusstringobbligatorio

    Stati sent/queued dalla consegna oppure, per una richiesta congelata: deferred (programmata dalla politica o in attesa di traduzione), processing (in invio), discarded.

  • replayedboolean
  • journeynon specificatoobbligatorio
  • anyOf 1object
  • journey_idstringobbligatorio

    format: "uuid"

  • enrollment_idstringobbligatorio

    format: "uuid"

  • step_idstringobbligatorio

    format: "uuid"

  • step_positionintegerobbligatorio
  • originstring

    enum: "journey"

  • journey_identitystring
  • anyOf 2null
  • ignored_variablesarrayobbligatorio
  • Ogni elementostring
  • scheduled_atstring

    format: "date-time"

  • reasonstring
  • communication_reservation_idstring

    format: "uuid"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

transactionalSendId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • command_idstring | nullobbligatorio

    format: "uuid"

  • statusstringobbligatorio
  • command_statusstring | nullobbligatorio
  • subjectstring
  • recipientsarray
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • recipient_countintegerobbligatorio
  • error_codestring | null
  • send_intent_idstring

    format: "uuid"

  • providerstring | null
  • route_kindstring | null
  • sourcestring
  • from_addressstring
  • recipient_statesobject
  • Proprietà aggiuntivainteger
  • provider_message_idstring | null
  • languagenon specificato

    La lingua in cui è stata inviata questa email; null se non è stata tradotta.

  • anyOf 1object

    La lingua in cui una persona ha ricevuto un’email. Presente solo nelle email tradotte (managed-content).

  • localestringobbligatorio

    Tag BCP 47 della lingua in cui è stata scritta l’email.

  • requested_localestring

    Presente solo in un invio precedente in un’altra lingua: la lingua che la persona avrebbe dovuto ricevere.

  • fallback_reasonstring

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

  • anyOf 2null
  • journeyobject | null

    Passaggio del Percorso e iscrizione che hanno inviato questa email; null per altri invii.

  • journey_idstringobbligatorio

    format: "uuid"

  • step_idstringobbligatorio

    format: "uuid"

  • enrollment_idstringobbligatorio

    format: "uuid"

  • experimentobject | null

    La variante dell’esperimento di questa email; null se non applicabile.

  • experiment_idstringobbligatorio

    format: "uuid"

  • variant_keystringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • template_idstring | null

    format: "uuid"

  • template_versioninteger | null
  • workspace_revisioninteger | null
  • command_resultobject
  • Proprietà aggiuntivaQualsiasi valore
  • command_started_atstring | null

    format: "date-time"

  • command_completed_atstring | null

    format: "date-time"

  • body_textstring
  • body_htmlstring
  • reply_toarray
  • Ogni elementoobject
  • emailstringobbligatorio
  • namestring
  • headersobject
  • Proprietà aggiuntivastring
  • tagsarray
  • Ogni elementoobject
  • namestringobbligatorio
  • valuestringobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

transactionalSendId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Cronologia ordinata di accettazione, tentativi del provider ed eventi del destinatario.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • occurred_atstringobbligatorio

    format: "date-time"

  • event_typestringobbligatorio
  • labelstringobbligatorio
  • providerstring | null
  • recipient_domainstring | null
  • error_codestring | null

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

transactionalSendId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 202

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • action_kindstringobbligatorio

    enum: "transactional.send"

  • idstringobbligatorio

    format: "uuid"

  • send_intent_idstringobbligatorio

    format: "uuid"

  • provider_attempt_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio
  • replayedbooleanobbligatorio

Esempio 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'

Conversazioni

GET/v1/workspaces/{workspaceId}/threads

listThreads

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • 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

Restituisci solo le conversazioni con questa etichetta della casella.

  • valuestring

    format: "uuid"

view
query
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Conversazioni del workspace paginate per chiave.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • subjectstringobbligatorio
  • snippetstringobbligatorio
  • last_message_atstringobbligatorio

    format: "date-time"

  • message_countintegerobbligatorio
  • unread_countintegerobbligatorio
  • is_archivedbooleanobbligatorio
  • is_trashbooleanobbligatorio
  • is_spambooleanobbligatorio
  • is_starredbooleanobbligatorio
  • is_sentbooleanobbligatorio
  • has_attachmentsbooleanobbligatorio
  • labelsarrayobbligatorio
  • Ogni elementostring
  • participantsarray
  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • pageobjectobbligatorio
  • next_cursorstring
  • has_morebooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

threadId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Conversazione e messaggi ordinati.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • subjectstringobbligatorio
  • snippetstringobbligatorio
  • last_message_atstringobbligatorio

    format: "date-time"

  • message_countintegerobbligatorio
  • unread_countintegerobbligatorio
  • is_archivedbooleanobbligatorio
  • is_trashbooleanobbligatorio
  • is_spambooleanobbligatorio
  • is_starredbooleanobbligatorio
  • is_sentbooleanobbligatorio
  • has_attachmentsbooleanobbligatorio
  • labelsarrayobbligatorio
  • Ogni elementostring
  • participantsarray
  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • allOf 2object
  • messagesarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstringobbligatorio

    format: "uuid"

  • sent_atstringobbligatorio

    format: "date-time"

  • received_atstring

    format: "date-time"

  • envelope_recipientsarray

    Destinatari originali della busta SMTP, normalizzati per maiuscole e minuscole dal nodo SMTP prima dell’instradamento tramite alias di sola ricezione. Vuoto per messaggi precedenti o fonti non SMTP. Indipendente dagli header To/Cc visibili.

  • Ogni elementostring

    format: "email"

    Ulteriore annidamento omesso

  • fromobjectobbligatorio
  • namestring

    Ulteriore annidamento omesso

  • emailstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • toarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • ccarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • reply_toarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • is_sentboolean

    Se questo messaggio è stato inviato dalla casella, anche da un alias.

  • body_textstring
  • body_html_urlstring

    format: "uri"

  • reply_originobject
  • send_intent_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • sourcestringobbligatorio

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

    Ulteriore annidamento omesso

  • source_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • traffic_classstringobbligatorio

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

    Ulteriore annidamento omesso

  • kindstringobbligatorio

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

    Ulteriore annidamento omesso

  • namestring

    Ulteriore annidamento omesso

  • has_attachmentsbooleanobbligatorio
  • attachmentsarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

Esempio curl

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

Messaggi

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

getMessageHtml

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

messageId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Corpo HTML del messaggio autenticato e limitato dalla sandbox.

text/html

  • valuestring

Esempio curl

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

Allegati

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

downloadAttachment

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

attachmentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Flusso dell’allegato autenticato.

application/octet-stream

  • valuestring

    format: "binary"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

q
query · obbligatorio
  • 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"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risultati di ricerca nell’intero workspace.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • subjectstringobbligatorio
  • snippetstringobbligatorio
  • last_message_atstringobbligatorio

    format: "date-time"

  • message_countintegerobbligatorio
  • unread_countintegerobbligatorio
  • is_archivedbooleanobbligatorio
  • is_trashbooleanobbligatorio
  • is_spambooleanobbligatorio
  • is_starredbooleanobbligatorio
  • is_sentbooleanobbligatorio
  • has_attachmentsbooleanobbligatorio
  • labelsarrayobbligatorio
  • Ogni elementostring
  • participantsarray
  • Ogni elementoobject
  • namestring
  • emailstringobbligatorio

    format: "email"

  • pageobjectobbligatorio
  • next_cursorstring
  • has_morebooleanobbligatorio

Esempio 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"

Contatti

GET/v1/workspaces/{workspaceId}/contacts

listContacts

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

q
query
  • valuestring

    maxLength: 512

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio

    format: "email"

  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • statusstringobbligatorio

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

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • pageobjectobbligatorio
  • next_cursorstring
  • has_morebooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • emailstringobbligatorio

    format: "email"

  • display_namestring

    maxLength: 1000

  • statusstringobbligatorio

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • consent_confirmedboolean

    Obbligatorio quando si iscrive un nuovo indirizzo.

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio

    format: "email"

  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • statusstringobbligatorio

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

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

contactId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio

    format: "email"

  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • statusstringobbligatorio

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

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • suppressedbooleanobbligatorio
  • suppression_reasonstring | nullobbligatorio
  • sourcesarrayobbligatorio
  • Ogni elementoobject
  • kindstringobbligatorio
  • referencestringobbligatorio
  • connection_idstring | nullobbligatorio

    format: "uuid"

  • metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • first_seen_atstringobbligatorio

    format: "date-time"

  • last_seen_atstringobbligatorio

    format: "date-time"

  • listsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • subscription_statusstringobbligatorio
  • consent_evidencearrayobbligatorio
  • Ogni elementoobject
  • kindstringobbligatorio
  • referencestringobbligatorio
  • connection_idstring | nullobbligatorio

    format: "uuid"

  • metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • first_seen_atstringobbligatorio

    format: "date-time"

  • last_seen_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

contactId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Contatto eliminato.

Nessun corpo della risposta.

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstring

    format: "uuid"

  • filenamestring
  • list_idstring | null

    format: "uuid"

  • list_namestring | null
  • statusstring
  • total_rowsinteger
  • imported_rowsinteger
  • invalid_rowsinteger
  • error_summaryarray
  • Ogni elementostring
  • 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"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • filenamestringobbligatorio

    minLength: 1 · maxLength: 500

  • list_idstring

    format: "uuid"

  • consent_confirmedboolean

    Obbligatorio se una riga importata è iscritta.

  • rowsarrayobbligatorio

    minItems: 1 · maxItems: 5000

  • Ogni elementoobject
  • emailstringobbligatorio

    format: "email"

  • display_namestring

    maxLength: 1000

  • statusstring

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "queued"

  • total_rowsintegerobbligatorio
  • imported_rowsintegerobbligatorio
  • invalid_rowsintegerobbligatorio
  • list_idstring | nullobbligatorio

    format: "uuid"

Esempio 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

Unisci attributi tipizzati senza modificare iscrizione o consenso

Richiede contacts:write e contacts:read. Aggiorna solo un contatto esistente. Gli attributi omessi restano invariati, false esplicito viene salvato e null rimuove un campo. Fornisci fatti verificati dalla fonte; un dato assente non è false. Iscrizione, esclusione, identità e cronologia delle fonti non cambiano.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contactId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Rilettura attuale del contatto; replayed è true se questa modifica è già stata applicata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • statusstringobbligatorio

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

  • replayedbooleanobbligatorio
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • emailstringobbligatorio

    format: "email" · maxLength: 320

  • display_namestring

    minLength: 0 · maxLength: 1000

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • statusstringobbligatorio

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

  • consent_evidenceobject

    Nessuna proprietà aggiuntiva

  • sourcestring

    minLength: 1 · maxLength: 2000

  • referencestring

    minLength: 1 · maxLength: 2000

  • observed_atstring

    format: "date-time"

  • statementstring

    minLength: 1 · maxLength: 2000

  • consent_confirmedboolean

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio

    format: "email"

  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • statusstringobbligatorio

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

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • suppressedbooleanobbligatorio
  • suppression_reasonstring | nullobbligatorio
  • sourcesarrayobbligatorio
  • Ogni elementoobject
  • kindstringobbligatorio
  • referencestringobbligatorio
  • connection_idstring | nullobbligatorio

    format: "uuid"

  • metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • first_seen_atstringobbligatorio

    format: "date-time"

  • last_seen_atstringobbligatorio

    format: "date-time"

  • listsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • subscription_statusstringobbligatorio
  • consent_evidencearrayobbligatorio
  • Ogni elementoobject
  • kindstringobbligatorio
  • referencestringobbligatorio
  • connection_idstring | nullobbligatorio

    format: "uuid"

  • metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • first_seen_atstringobbligatorio

    format: "date-time"

  • last_seen_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • rowsarrayobbligatorio

    minItems: 1 · maxItems: 5000

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • emailstringobbligatorio

    format: "email" · maxLength: 320

  • display_namestring

    minLength: 0 · maxLength: 1000

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • statusstringobbligatorio

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

  • consent_evidenceobject

    Nessuna proprietà aggiuntiva

  • sourcestring

    minLength: 1 · maxLength: 2000

  • referencestring

    minLength: 1 · maxLength: 2000

  • observed_atstring

    format: "date-time"

  • statementstring

    minLength: 1 · maxLength: 2000

  • consent_confirmedboolean

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataobjectobbligatorio
  • validbooleanobbligatorio
  • total_rowsintegerobbligatorio
  • valid_rowsintegerobbligatorio
  • errorsarrayobbligatorio
  • Ogni elementoobject
  • rowintegerobbligatorio
  • codestringobbligatorio
  • messagestringobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

importId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstring

    format: "uuid"

  • filenamestring
  • list_idstring | null

    format: "uuid"

  • list_namestring | null
  • statusstring
  • total_rowsinteger
  • imported_rowsinteger
  • invalid_rowsinteger
  • error_summaryarray
  • Ogni elementostring
  • 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"

Esempio 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

Elenca le chiavi degli attributi dei contatti archiviate

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementostring

Esempio 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

Proponi mappature delle colonne per importare contatti

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • filenamestring

    maxLength: 500

  • columnsarrayobbligatorio

    minItems: 1 · maxItems: 100

  • Ogni elementoobject
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • samplesarray

    maxItems: 8

  • Ogni elementostring

    maxLength: 120

  • filledinteger

    minimum: 0

  • rowsinteger

    minimum: 0

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • mappingobjectobbligatorio
  • columnsarrayobbligatorio
  • Ogni elementoobject
  • columnstringobbligatorio
  • targetstringobbligatorio

    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"

  • confidencenumberobbligatorio
  • sourcestringobbligatorio

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

  • alternativesarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • locale_valuesobjectobbligatorio
  • Proprietà aggiuntivastring | null
  • reviewobjectobbligatorio
  • neededbooleanobbligatorio
  • reasonsarrayobbligatorio
  • Ogni elementostring
  • columnsarrayobbligatorio
  • Ogni elementostring
  • sourcestringobbligatorio

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

Esempio 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
    }
  ]
}'

Liste di contatti

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

listContactLists

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • descriptionstringobbligatorio
  • member_countintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • descriptionstringobbligatorio
  • member_countintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

listId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • descriptionstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • membersarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • statusstringobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Elimina questa lista e i contatti che appartengono solo a essa. I contatti presenti in altre liste sono conservati. Richiede contacts:write.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

listId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Numero di contatti esclusivi eliminati (o da eliminare) e contatti condivisi conservati.

application/json

  • valueobject
  • dataobjectobbligatorio
  • deleted_contactsintegerobbligatorio

    minimum: 0

  • kept_contactsintegerobbligatorio

    minimum: 0

Esempio 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

Anteprima dei conteggi di eliminazione della lista. Le appartenenze vengono ricontrollate durante l’eliminazione. Richiede contacts:read.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

listId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Numero di contatti esclusivi eliminati (o da eliminare) e contatti condivisi conservati.

application/json

  • valueobject
  • dataobjectobbligatorio
  • deleted_contactsintegerobbligatorio

    minimum: 0

  • kept_contactsintegerobbligatorio

    minimum: 0

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

listId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • contact_idsarrayobbligatorio

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Risposta di successo 204

Appartenenza alla lista aggiornata.

Nessun corpo della risposta.

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

listId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • contact_idsarrayobbligatorio

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Risposta di successo 204

Appartenenza alla lista aggiornata.

Nessun corpo della risposta.

Esempio 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"
  ]
}'

Campi dei contatti

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

Campi dei contatti del prodotto (integrati, dichiarati e rilevati) con tipo, opzioni, fonte, numero di contatti con un valore e operatori di segmento supportati.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstringobbligatorio

    maxLength: 80

  • descriptionstringobbligatorio

    maxLength: 500

  • typestringobbligatorio

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

  • optionsarrayobbligatorio

    maxItems: 50

  • Ogni elementostring
  • originstringobbligatorio

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

  • statusstringobbligatorio

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Ogni elementostring
  • contacts_with_valueinteger

Esempio 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

Dichiara un campo del contatto: label, type (text, number, boolean, date, choice, choices), key facoltativa, options e description.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • keystring

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

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

  • descriptionstring

    maxLength: 500

  • typestring

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

  • optionsarray

    maxItems: 50

  • Ogni elementostring

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • keystringobbligatorio

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

  • labelstringobbligatorio

    maxLength: 80

  • descriptionstringobbligatorio

    maxLength: 500

  • typestringobbligatorio

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

  • optionsarrayobbligatorio

    maxItems: 50

  • Ogni elementostring
  • originstringobbligatorio

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

  • statusstringobbligatorio

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Ogni elementostring
  • contacts_with_valueinteger

Esempio 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}

Rinomina, descrivi, cambia tipo (convertendo i valori archiviati, oppure 409 con un esempio incompatibile), modifica le opzioni o nascondi un campo.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

key
path · obbligatorio
  • valuestring

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

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • labelstring

    maxLength: 80

  • descriptionstring

    maxLength: 500

  • typestring

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

  • optionsarray

    maxItems: 50

  • Ogni elementostring
  • statusstring

    enum: "active", "hidden"

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • keystringobbligatorio

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

  • labelstringobbligatorio

    maxLength: 80

  • descriptionstringobbligatorio

    maxLength: 500

  • typestringobbligatorio

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

  • optionsarrayobbligatorio

    maxItems: 50

  • Ogni elementostring
  • originstringobbligatorio

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

  • statusstringobbligatorio

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Ogni elementostring
  • contacts_with_valueinteger

Esempio 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"
}'

Segmenti

GET/v1/workspaces/{workspaceId}/segments

listSegments

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • filterobjectobbligatorio

    Le condizioni devono riferirsi a campi dei contatti dichiarati e usare operatori supportati dal tipo. set e not_set omettono value; within_days usa 1–3650 giorni.

    Nessuna proprietà aggiuntiva

  • statusstring

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray

    maxItems: 20

  • Ogni elementoobject
  • fieldstringobbligatorio

    Ulteriore annidamento omesso

  • opstringobbligatorio

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

    Ulteriore annidamento omesso

  • valuenon specificato

    Ulteriore annidamento omesso

  • matchstring

    enum: "all", "any"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • filterobject

    Le condizioni devono riferirsi a campi dei contatti dichiarati e usare operatori supportati dal tipo. set e not_set omettono value; within_days usa 1–3650 giorni.

    Nessuna proprietà aggiuntiva

  • statusstring

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray

    maxItems: 20

  • Ogni elementoobject
  • fieldstringobbligatorio
  • opstringobbligatorio

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

  • valuenon specificato
  • anyOf 1string
  • anyOf 2number
  • anyOf 3boolean
  • anyOf 4array
  • Ogni elementostring

    Ulteriore annidamento omesso

  • matchstring

    enum: "all", "any"

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • filterobjectobbligatorio

    Le condizioni devono riferirsi a campi dei contatti dichiarati e usare operatori supportati dal tipo. set e not_set omettono value; within_days usa 1–3650 giorni.

    Nessuna proprietà aggiuntiva

  • statusstring

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray

    maxItems: 20

  • Ogni elementoobject
  • fieldstringobbligatorio
  • opstringobbligatorio

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

  • valuenon specificato
  • anyOf 1string

    Ulteriore annidamento omesso

  • anyOf 2number

    Ulteriore annidamento omesso

  • anyOf 3boolean

    Ulteriore annidamento omesso

  • anyOf 4array

    Ulteriore annidamento omesso

  • matchstring

    enum: "all", "any"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

segmentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • filterobjectobbligatorio

    Le condizioni devono riferirsi a campi dei contatti dichiarati e usare operatori supportati dal tipo. set e not_set omettono value; within_days usa 1–3650 giorni.

    Nessuna proprietà aggiuntiva

  • statusstring

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray

    maxItems: 20

  • Ogni elementoobject
  • fieldstringobbligatorio

    Ulteriore annidamento omesso

  • opstringobbligatorio

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

    Ulteriore annidamento omesso

  • valuenon specificato

    Ulteriore annidamento omesso

  • matchstring

    enum: "all", "any"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • countintegerobbligatorio
  • missing_consent_evidence_countintegerobbligatorio
  • samplearrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • excludedobjectobbligatorio
  • suppressedintegerobbligatorio
  • not_subscribedintegerobbligatorio
  • missing_recipient_hashintegerobbligatorio
  • missing_consent_evidenceintegerobbligatorio

Esempio 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}

Elimina un segmento

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

segmentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • deletedbooleanobbligatorio

    const: true

Esempio curl

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

Pubblico

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

createProductContactList

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    minLength: 0 · maxLength: 2000

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • descriptionstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • membersarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • statusstringobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

listId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • descriptionstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • membersarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • statusstringobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

listId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • contact_idsarrayobbligatorio

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • descriptionstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • membersarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • statusstringobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

listId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • contact_idsarrayobbligatorio

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • descriptionstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • membersarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • statusstringobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • filterobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • statusstring

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1non specificato
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • filterobjectobbligatorio

    Le condizioni devono riferirsi a campi dei contatti dichiarati e usare operatori supportati dal tipo. set e not_set omettono value; within_days usa 1–3650 giorni.

    Nessuna proprietà aggiuntiva

  • statusstring

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray

    maxItems: 20

  • Ogni elementoobject

    Ulteriore annidamento omesso

  • matchstring

    enum: "all", "any"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • countintegerobbligatorio
  • missing_consent_evidence_countintegerobbligatorio
  • samplearrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • emailstringobbligatorio

    Ulteriore annidamento omesso

  • display_namestring | nullobbligatorio

    Ulteriore annidamento omesso

  • attributesobjectobbligatorio

    Ulteriore annidamento omesso

  • excludedobjectobbligatorio
  • suppressedintegerobbligatorio
  • not_subscribedintegerobbligatorio
  • missing_recipient_hashintegerobbligatorio
  • missing_consent_evidenceintegerobbligatorio
  • allOf 2object
  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

segmentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • filterobjectobbligatorio

    Le condizioni devono riferirsi a campi dei contatti dichiarati e usare operatori supportati dal tipo. set e not_set omettono value; within_days usa 1–3650 giorni.

    Nessuna proprietà aggiuntiva

  • statusstring

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

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray

    maxItems: 20

  • Ogni elementoobject
  • fieldstringobbligatorio

    Ulteriore annidamento omesso

  • opstringobbligatorio

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

    Ulteriore annidamento omesso

  • valuenon specificato

    Ulteriore annidamento omesso

  • matchstring

    enum: "all", "any"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • countintegerobbligatorio
  • missing_consent_evidence_countintegerobbligatorio
  • samplearrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • excludedobjectobbligatorio
  • suppressedintegerobbligatorio
  • not_subscribedintegerobbligatorio
  • missing_recipient_hashintegerobbligatorio
  • missing_consent_evidenceintegerobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

status
query
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementonon specificato
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring

    Ulteriore annidamento omesso

  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • checksarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • allOf 2object
  • approval_idstringobbligatorio

    format: "uuid"

  • broadcast_idstring | nullobbligatorio

    format: "uuid"

  • import_idstring | nullobbligatorio

    format: "uuid"

  • blockersarrayobbligatorio
  • Ogni elementoobject
  • codestringobbligatorio

    Ulteriore annidamento omesso

  • messagestringobbligatorio

    Ulteriore annidamento omesso

  • executionsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    Ulteriore annidamento omesso

  • resultobjectobbligatorio

    Ulteriore annidamento omesso

  • error_codestring | nullobbligatorio

    Ulteriore annidamento omesso

  • execution_job_idsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • execution_statusstringobbligatorio

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

  • human_review_urlstring | nullobbligatorio
  • human_review_instructionstring | nullobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring
  • allOf 2object
  • approval_idstringobbligatorio

    format: "uuid"

  • broadcast_idstring | nullobbligatorio

    format: "uuid"

  • import_idstring | nullobbligatorio

    format: "uuid"

  • blockersarrayobbligatorio
  • Ogni elementoobject
  • codestringobbligatorio
  • messagestringobbligatorio
  • executionsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio
  • resultobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • error_codestring | nullobbligatorio
  • execution_job_idsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • execution_statusstringobbligatorio

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

  • human_review_urlstring | nullobbligatorio
  • human_review_instructionstring | nullobbligatorio

Esempio 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'

Moduli di iscrizione

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

Moduli di iscrizione del prodotto con codice di incorporamento, link ospitato, visualizzazioni, iscrizioni, conferme, iscritti e tasso di conversione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

include_archived
query
  • valueboolean

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • public_idstringobbligatorio

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

  • namestringobbligatorio
  • kindstringobbligatorio

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

  • list_idstringobbligatorio

    format: "uuid"

  • list_namestringobbligatorio
  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • double_opt_inbooleanobbligatorio
  • configobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • 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

  • Ogni elementoobject

    Le domande select richiedono opzioni. Gli altri tipi di domanda non accettano opzioni. Le chiavi devono essere uniche e non possono usare campi riservati del modulo; le chiavi omesse sono ricavate dalle etichette.

    Nessuna proprietà aggiuntiva

  • keystring

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

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

    Ulteriore annidamento omesso

  • typestring

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

    Ulteriore annidamento omesso

  • requiredboolean

    default: false

    Ulteriore annidamento omesso

  • placeholderstring

    maxLength: 80

    Ulteriore annidamento omesso

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

    Ulteriore annidamento omesso

  • statusstringobbligatorio

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

  • viewsintegerobbligatorio
  • submissionsintegerobbligatorio
  • confirmationsintegerobbligatorio
  • subscribersintegerobbligatorio
  • versionintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • hosted_urlstringobbligatorio
  • embed_codestringobbligatorio
  • embed_slotstringobbligatorio
  • open_buttonstringobbligatorio
  • conversion_ratenumberobbligatorio

Esempio 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

Crea un modulo: kind (inline, popup, bar, slide_in, page), list_id o list_name, mailbox_id facoltativo, double_opt_in (true per default) e config parziale.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

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

    Nessuna proprietà aggiuntiva

  • 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

  • Ogni elementoobject

    Le domande select richiedono opzioni. Gli altri tipi di domanda non accettano opzioni. Le chiavi devono essere uniche e non possono usare campi riservati del modulo; le chiavi omesse sono ricavate dalle etichette.

    Nessuna proprietà aggiuntiva

  • keystring

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

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

    minLength: 1 · maxLength: 80

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • 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

    Nessuna proprietà aggiuntiva

  • 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

  • Ogni elementoobject

    Le domande select richiedono opzioni. Gli altri tipi di domanda non accettano opzioni. Le chiavi devono essere uniche e non possono usare campi riservati del modulo; le chiavi omesse sono ricavate dalle etichette.

    Nessuna proprietà aggiuntiva

  • keystring

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

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

    minLength: 1 · maxLength: 80

    Ulteriore annidamento omesso

  • 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

Esempio 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

Se questo prodotto può attivare i moduli (il suo canale di prodotto invia da un dominio verificato).

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • forms_enabledbooleanobbligatorio
  • reasonstring

    enum: "verified_domain_required"

Esempio 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

Genera le impostazioni non salvate del modulo come pagina HTML completa su un sito abbozzato.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • kindstring

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

  • configobject

    Nessuna proprietà aggiuntiva

  • 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

  • Ogni elementoobject

    Le domande select richiedono opzioni. Gli altri tipi di domanda non accettano opzioni. Le chiavi devono essere uniche e non possono usare campi riservati del modulo; le chiavi omesse sono ricavate dalle etichette.

    Nessuna proprietà aggiuntiva

  • keystring

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

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

    minLength: 1 · maxLength: 80

  • double_opt_inboolean
  • statestring

    enum: "form", "success"

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • kindstringobbligatorio

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

  • statestringobbligatorio

    enum: "form", "success"

  • htmlstringobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

formId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • public_idstringobbligatorio

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

  • namestringobbligatorio
  • kindstringobbligatorio

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

  • list_idstringobbligatorio

    format: "uuid"

  • list_namestringobbligatorio
  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • double_opt_inbooleanobbligatorio
  • configobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • 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

  • Ogni elementoobject

    Le domande select richiedono opzioni. Gli altri tipi di domanda non accettano opzioni. Le chiavi devono essere uniche e non possono usare campi riservati del modulo; le chiavi omesse sono ricavate dalle etichette.

    Nessuna proprietà aggiuntiva

  • keystring

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

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

    minLength: 1 · maxLength: 80

    Ulteriore annidamento omesso

  • statusstringobbligatorio

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

  • viewsintegerobbligatorio
  • submissionsintegerobbligatorio
  • confirmationsintegerobbligatorio
  • subscribersintegerobbligatorio
  • versionintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • hosted_urlstringobbligatorio
  • embed_codestringobbligatorio
  • embed_slotstringobbligatorio
  • open_buttonstringobbligatorio
  • conversion_ratenumberobbligatorio

Esempio 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}

Aggiornamento parziale; config si unisce alle impostazioni salvate; status active, paused o archived; expected_version protegge dalle modifiche simultanee.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

formId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

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

    Nessuna proprietà aggiuntiva

  • 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

  • Ogni elementoobject

    Le domande select richiedono opzioni. Gli altri tipi di domanda non accettano opzioni. Le chiavi devono essere uniche e non possono usare campi riservati del modulo; le chiavi omesse sono ricavate dalle etichette.

    Nessuna proprietà aggiuntiva

  • keystring

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

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

    minLength: 1 · maxLength: 80

  • statusstring

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

  • expected_versioninteger

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • public_idstringobbligatorio

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

  • namestringobbligatorio
  • kindstringobbligatorio

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

  • list_idstringobbligatorio

    format: "uuid"

  • list_namestringobbligatorio
  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • double_opt_inbooleanobbligatorio
  • configobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • 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

  • Ogni elementoobject

    Le domande select richiedono opzioni. Gli altri tipi di domanda non accettano opzioni. Le chiavi devono essere uniche e non possono usare campi riservati del modulo; le chiavi omesse sono ricavate dalle etichette.

    Nessuna proprietà aggiuntiva

  • keystring

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

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

    minLength: 1 · maxLength: 80

    Ulteriore annidamento omesso

  • statusstringobbligatorio

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

  • viewsintegerobbligatorio
  • submissionsintegerobbligatorio
  • confirmationsintegerobbligatorio
  • subscribersintegerobbligatorio
  • versionintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • hosted_urlstringobbligatorio
  • embed_codestringobbligatorio
  • embed_slotstringobbligatorio
  • open_buttonstringobbligatorio
  • conversion_ratenumberobbligatorio
  • replayedbooleanobbligatorio

Esempio 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

Genera un modulo salvato, eventualmente con modifiche non salvate, nello stato del modulo o di successo.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

formId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • kindstring

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

  • configobject

    Nessuna proprietà aggiuntiva

  • 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

  • Ogni elementoobject

    Le domande select richiedono opzioni. Gli altri tipi di domanda non accettano opzioni. Le chiavi devono essere uniche e non possono usare campi riservati del modulo; le chiavi omesse sono ricavate dalle etichette.

    Nessuna proprietà aggiuntiva

  • keystring

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

  • labelstringobbligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

    minLength: 1 · maxLength: 80

  • double_opt_inboolean
  • statestring

    enum: "form", "success"

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • kindstringobbligatorio

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

  • statestringobbligatorio

    enum: "form", "success"

  • htmlstringobbligatorio

Esempio 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"
}'

Moduli di iscrizione pubblici

GET/v1/forms/embed.js

Il loader del modulo di iscrizione. Un tag script per modulo (data-banger-form="f_…") genera il widget in uno shadow root e gestisce trigger e invii.

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nessun parametro specificato.

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Loader incorporabile del modulo di iscrizione.

text/javascript

  • valuestring

Esempio curl

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

Leggi la politica CORS delle iscrizioni pubbliche

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nessun parametro specificato.

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Risposta riuscita.

Nessun corpo della risposta.

Esempio curl

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

Leggi gli header dello script di incorporamento

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nessun parametro specificato.

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

Il contratto non specifica uno schema di risposta.

Esempio curl

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

Widget generato di un modulo attivo (html, css, link del font) e comportamento popup. Pubblico, CORS aperto, in cache per un minuto.

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nome / posizioneSchema
publicId
path · obbligatorio
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • kindstringobbligatorio

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

  • langstringobbligatorio
  • htmlstringobbligatorio
  • cssstringobbligatorio
  • font_hrefstringobbligatorio
  • redirect_urlstringobbligatorio
  • behaviorobjectobbligatorio
  • delay_secondsnumberobbligatorio
  • scroll_percentnumberobbligatorio
  • exit_intentbooleanobbligatorio
  • frequency_daysnumberobbligatorio

Esempio curl

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

Leggi la politica CORS delle iscrizioni pubbliche

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nome / posizioneSchema
publicId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Risposta riuscita.

Nessun corpo della risposta.

Esempio curl

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

Un visitatore si iscrive. Codifica form (email, name, page, lang facoltativo) per evitare il preflight nei browser; è accettato anche JSON. I messaggi e l’email di conferma seguono la lingua del modulo, poi lang, poi Accept-Language. Con double opt-in viene inviata un’email di conferma e la persona entra nella lista dopo aver confermato.

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nome / posizioneSchema
publicId
path · obbligatorio
  • valuestring

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

Corpo della richiesta obbligatorio

application/x-www-form-urlencoded

  • valueobject

    Le risposte personalizzate usano x_<field key> (o la chiave senza prefisso). Le risposte obbligatorie dipendono dalla configurazione del modulo. Il gestore legge i primi 8000 caratteri del corpo.

  • emailstringobbligatorio

    format: "email" · maxLength: 320

  • namestring

    maxLength: 100

  • pagestring

    maxLength: 2000

  • elapsednumber | string

    Millisecondi trascorsi dalla visualizzazione del modulo.

  • langstring

    maxLength: 35

  • localestring

    maxLength: 35

  • websitestring

    Honeypot; lascia vuoto.

    maxLength: 200

  • Proprietà aggiuntivastring | number

application/json

  • valueobject

    Le risposte personalizzate usano x_<field key> (o la chiave senza prefisso). Le risposte obbligatorie dipendono dalla configurazione del modulo. Il gestore legge i primi 8000 caratteri del corpo.

  • emailstringobbligatorio

    format: "email" · maxLength: 320

  • namestring

    maxLength: 100

  • pagestring

    maxLength: 2000

  • elapsednumber | string

    Millisecondi trascorsi dalla visualizzazione del modulo.

  • langstring

    maxLength: 35

  • localestring

    maxLength: 35

  • websitestring

    Honeypot; lascia vuoto.

    maxLength: 200

  • Proprietà aggiuntivastring | number

Risposta di successo 200

Iscrizione accettata.

application/json

  • valueobject
  • okbooleanobbligatorio

    const: true

  • statusstringobbligatorio

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

  • redirect_urlstring

Esempio 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

Leggi la politica CORS delle iscrizioni pubbliche

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nome / posizioneSchema
publicId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Risposta riuscita.

Nessun corpo della risposta.

Esempio curl

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

Conta una visualizzazione di un widget.

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nome / posizioneSchema
publicId
path · obbligatorio
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Conteggiato.

Nessun corpo della risposta.

Esempio curl

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

Leggi la politica CORS delle iscrizioni pubbliche

Endpoint pubblico: nessuna autenticazione richiesta.

Parametri

Nome / posizioneSchema
publicId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Risposta riuscita.

Nessun corpo della risposta.

Esempio curl

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

Modelli

GET/v1/workspaces/{workspaceId}/templates

listTemplates

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • contentobjectobbligatorio
  • Proprietà aggiuntivastring
  • slotsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobbligatorio

    enum: "active", "archived"

  • originstringobbligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Proprietà aggiuntivastring
  • slotsarray
  • Ogni elementoobject
  • keystringobbligatorio

    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

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • contentobjectobbligatorio
  • Proprietà aggiuntivastring
  • slotsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobbligatorio

    enum: "active", "archived"

  • originstringobbligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Genera un design non salvato con valori di esempio o del pubblico e segnala i segnaposto mancanti.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Proprietà aggiuntivastring
  • audienceobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • sample_emailstring

    Email di un contatto esistente. Gli indirizzi sconosciuti restituiscono sample_recipient_not_found. Ometti per usare valori di esempio o del pubblico.

    maxLength: 320

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • body_htmlstring
  • font_renderingarrayobbligatorio
  • Ogni elementoobject
  • stackstringobbligatorio
  • fontstringobbligatorio
  • web_fontbooleanobbligatorio
  • clientsarrayobbligatorio
  • Ogni elementoobject
  • clientstringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • fontstringobbligatorio

    Ulteriore annidamento omesso

  • web_fontbooleanobbligatorio

    Ulteriore annidamento omesso

  • fallbackbooleanobbligatorio

    Ulteriore annidamento omesso

  • sample_recipientnon specificatoobbligatorio
  • anyOf 1object
  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • anyOf 2null
  • required_variablesarrayobbligatorio
  • Ogni elementostring
  • effective_slotsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • audience_countinteger
  • gapsarray
  • Ogni elementoobject
  • variablestringobbligatorio
  • missing_countintegerobbligatorio
  • sample_emailsarrayobbligatorio
  • Ogni elementostring

Esempio 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 con HTML inline, contenuti da compilare e slot effettivi.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

templateId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • contentobjectobbligatorio
  • Proprietà aggiuntivastring
  • slotsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobbligatorio

    enum: "active", "archived"

  • originstringobbligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

templateId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestring

    maxLength: 200

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    minLength: 1 · maxLength: 2000000

  • contentobject
  • Proprietà aggiuntivastring

    maxLength: 20000

  • slotsarray

    maxItems: 100

  • Ogni elementoobject
  • keystringobbligatorio

    maxLength: 200

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstring

    enum: "active", "archived"

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • contentobjectobbligatorio
  • Proprietà aggiuntivastring
  • slotsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobbligatorio

    enum: "active", "archived"

  • originstringobbligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

templateId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestring

    maxLength: 200

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • contentobjectobbligatorio
  • Proprietà aggiuntivastring
  • slotsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobbligatorio

    enum: "active", "archived"

  • originstringobbligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Esempio 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

Genera un design salvato con valori di esempio o del pubblico e segnala i segnaposto mancanti.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

templateId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • contentobject
  • Proprietà aggiuntivastring
  • audienceobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • sample_emailstring

    Email di un contatto esistente. Gli indirizzi sconosciuti restituiscono sample_recipient_not_found. Ometti per usare valori di esempio o del pubblico.

    maxLength: 320

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • body_htmlstring
  • font_renderingarrayobbligatorio
  • Ogni elementoobject
  • stackstringobbligatorio
  • fontstringobbligatorio
  • web_fontbooleanobbligatorio
  • clientsarrayobbligatorio
  • Ogni elementoobject
  • clientstringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • fontstringobbligatorio

    Ulteriore annidamento omesso

  • web_fontbooleanobbligatorio

    Ulteriore annidamento omesso

  • fallbackbooleanobbligatorio

    Ulteriore annidamento omesso

  • sample_recipientnon specificatoobbligatorio
  • anyOf 1object
  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • anyOf 2null
  • required_variablesarrayobbligatorio
  • Ogni elementostring
  • effective_slotsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • audience_countinteger
  • gapsarray
  • Ogni elementoobject
  • variablestringobbligatorio
  • missing_countintegerobbligatorio
  • sample_emailsarrayobbligatorio
  • Ogni elementostring

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

templateId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Corpo HTML del modello email senza script.

text/html

  • valuestring

Esempio curl

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

Campagne

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

previewCampaignCoverage

Segnaposto obbligatori che un pubblico non può compilare, prima di salvare qualsiasi Campagna.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Proprietà aggiuntivastring
  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • sample_emailstring

    maxLength: 320

  • template_idstring

    format: "uuid"

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • required_variablesarrayobbligatorio
  • Ogni elementostring
  • audience_countintegerobbligatorio
  • gapsarrayobbligatorio
  • Ogni elementoobject
  • variablestringobbligatorio
  • missing_countintegerobbligatorio
  • sample_emailsarrayobbligatorio
  • Ogni elementostring

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • 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
  • Ogni elementostring
  • expires_after_secondsinteger | null
  • statusstringobbligatorio
  • versionintegerobbligatorio
  • subject_variantsarray
  • Ogni elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Proprietà aggiuntivastring
  • audience_queryobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    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
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestringobbligatorio

    maxLength: 200

  • mailbox_idstring

    format: "uuid"

  • template_idstringobbligatorio

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Ogni elementostring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0

  • audienceobjectobbligatorio
  • all_subscribedboolean

    default: false

  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • 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
  • Ogni elementostring
  • expires_after_secondsinteger | null
  • statusstringobbligatorio
  • versionintegerobbligatorio
  • subject_variantsarray
  • Ogni elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Proprietà aggiuntivastring
  • audience_queryobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    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
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • countintegerobbligatorio
  • missing_consent_evidence_countintegerobbligatorio
  • samplearrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • excludedobjectobbligatorio
  • suppressedintegerobbligatorio
  • not_subscribedintegerobbligatorio
  • missing_recipient_hashintegerobbligatorio
  • missing_consent_evidenceintegerobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • 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
  • Ogni elementostring
  • expires_after_secondsinteger | null
  • statusstringobbligatorio
  • versionintegerobbligatorio
  • subject_variantsarray
  • Ogni elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Proprietà aggiuntivastring
  • audience_queryobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    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
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestringobbligatorio

    maxLength: 200

  • mailbox_idstringobbligatorio

    format: "uuid"

  • template_idstring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Ogni elementostring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0

  • audienceobjectobbligatorio

    Proprietà non specificate nel contratto

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • 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
  • Ogni elementostring
  • expires_after_secondsinteger | null
  • statusstringobbligatorio
  • versionintegerobbligatorio
  • subject_variantsarray
  • Ogni elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Proprietà aggiuntivastring
  • audience_queryobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    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
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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}

Elimina una campagna non inviata

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • deletedbooleanobbligatorio

    const: true

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • 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"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • 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"

  • pageobjectobbligatorio
  • next_cursorstring
  • has_morebooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • typestringobbligatorio
  • occurred_atstringobbligatorio

    format: "date-time"

  • actor_idstring | nullobbligatorio
  • detailobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • mailbox_idstringobbligatorio

    format: "uuid"

  • template_idstring | nullobbligatorio

    format: "uuid"

  • statusstringobbligatorio
  • audience_queryobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • scheduled_atstring | nullobbligatorio

    format: "date-time"

  • started_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • mailbox_idstringobbligatorio

    format: "uuid"

  • template_idstring | nullobbligatorio

    format: "uuid"

  • statusstringobbligatorio
  • audience_queryobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • scheduled_atstring | nullobbligatorio

    format: "date-time"

  • started_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • mailbox_idstringobbligatorio

    format: "uuid"

  • template_idstring | nullobbligatorio

    format: "uuid"

  • statusstringobbligatorio
  • audience_queryobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • scheduled_atstring | nullobbligatorio

    format: "date-time"

  • started_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Deprecato

Confine di programmazione diretta deprecato. Restituisce sempre governed_review_required; usa l’endpoint di revisione della campagna per applicare la soglia di destinatari del workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo

Il contratto non specifica una risposta di successo.

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • tostringobbligatorio

    minLength: 3 · maxLength: 320

  • data_modestring

    default: "contact" · enum: "sample", "fallback", "contact"

  • contact_emailstring

    maxLength: 320

  • variant_keystring

    maxLength: 80

  • localestring

Risposta di successo 202

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • action_kindstringobbligatorio

    enum: "transactional.send"

  • idstringobbligatorio

    format: "uuid"

  • send_intent_idstringobbligatorio

    format: "uuid"

  • provider_attempt_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio
  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • expected_versioninteger

    minimum: 1

  • expected_design_versioninteger

    minimum: 1

  • recipient_selectionobject

    Nessuna proprietà aggiuntiva

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • scheduled_atstring

    format: "date-time"

  • send_nowboolean

    const: true

  • approve_as_launcherboolean

    Una persona che preme Invia approva questa esatta richiesta quando la politica di revisione richiede una persona. Ignorato per chiavi API e agenti, che attendono in Approvazioni.

  • oneOf 1non specificato
  • oneOf 2non specificato

Risposta di successo 201

Approvazione della programmazione della campagna creata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Archivia una campagna

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio
  • archived_atstring | nullobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Ripristina una campagna dall’archivio

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio
  • archived_atstring | nullobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Salva da uno a quattro design email della campagna

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

campaignId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • mailbox_idstringobbligatorio

    format: "uuid"

  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • automatic_translationboolean
  • variantsarrayobbligatorio

    minItems: 1 · maxItems: 4

  • Ogni elementoobject
  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 2000000

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • contentobject
  • Proprietà aggiuntivastring

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobbligatorio
  • 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
  • Ogni elementostring
  • expires_after_secondsinteger | null
  • statusstringobbligatorio
  • versionintegerobbligatorio
  • subject_variantsarray
  • Ogni elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Proprietà aggiuntivastring
  • audience_queryobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    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
  • Proprietà aggiuntivaQualsiasi valore
  • design_template_idstringobbligatorio

    format: "uuid"

Esempio 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": {}
    }
  ]
}'

Campagne

POST/v1/workspaces/{workspaceId}/broadcasts

createBroadcast

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • mailbox_idstring

    Indirizzo mittente esistente. Se omesso, usa il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata.

    format: "uuid"

  • template_idstring

    format: "uuid"

  • audienceobject

    Nessuna proprietà aggiuntiva

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Ogni elementostring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0 · maximum: 7

  • expires_after_secondsinteger

    Scarta i destinatari non inviati dopo questo numero di secondi dall’orario programmato; sette giorni per default.

    minimum: 1 · maximum: 604800

  • content_overridesobject
  • Proprietà aggiuntivastring

    maxLength: 20000

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1non specificato
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • 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
  • Ogni elementostring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobbligatorio
  • subject_variantsarray
  • Ogni elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Proprietà aggiuntivastring
  • audience_queryobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • broadcast_idstringobbligatorio

    format: "uuid"

  • sender_addressstring | nullobbligatorio
  • sending_blockernon specificatoobbligatorio
  • anyOf 1object
  • codestringobbligatorio

    Ulteriore annidamento omesso

  • messagestringobbligatorio

    Ulteriore annidamento omesso

  • anyOf 2null
  • designnon specificatoobbligatorio
  • anyOf 1object
  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • product_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • namestring

    Ulteriore annidamento omesso

  • subjectstring

    Ulteriore annidamento omesso

  • body_textstring

    Ulteriore annidamento omesso

  • contentobject

    Ulteriore annidamento omesso

  • slotsarray

    Ulteriore annidamento omesso

  • statusstring

    enum: "active", "archived"

    Ulteriore annidamento omesso

  • originstring

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

    Ulteriore annidamento omesso

  • created_by_actor_idstring | null

    Ulteriore annidamento omesso

  • campaign_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • message_kindstring

    Ulteriore annidamento omesso

  • starter_idstring | null

    Ulteriore annidamento omesso

  • starter_versioninteger | null

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • created_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • updated_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • body_html_urlstring

    format: "uri"

    Ulteriore annidamento omesso

  • body_htmlstring | null

    Ulteriore annidamento omesso

  • body_html_b2_keystring | null

    Ulteriore annidamento omesso

  • anyOf 2null
  • managed_contentnon specificatoobbligatorio
  • anyOf 1non specificato
  • allOf 1object

    Ulteriore annidamento omesso

  • allOf 2object

    Ulteriore annidamento omesso

  • anyOf 2null
  • subjectstring | nullobbligatorio
  • sender_mailboxnon specificatoobbligatorio
  • anyOf 1object
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • addressstringobbligatorio

    Ulteriore annidamento omesso

  • display_namestringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    Ulteriore annidamento omesso

  • anyOf 2null
  • reply_mailboxnon specificatoobbligatorio
  • anyOf 1object
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • addressstringobbligatorio

    Ulteriore annidamento omesso

  • display_namestringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    Ulteriore annidamento omesso

  • anyOf 2null
  • design_versioninteger | nullobbligatorio
  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • allOf 2object
  • replayedbooleanobbligatorio
  • allOf 2object
  • previewobject
  • subjectstringobbligatorio
  • preheaderstring
  • htmlstringobbligatorio
  • textstringobbligatorio
  • localestringobbligatorio
  • directionstringobbligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Ogni elementostring
  • Proprietà aggiuntivaQualsiasi valore
  • translation_jobsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

broadcastId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • 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
  • Ogni elementostring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobbligatorio
  • subject_variantsarray
  • Ogni elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Proprietà aggiuntivastring
  • audience_queryobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    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
  • Proprietà aggiuntivaQualsiasi valore
  • broadcast_idstringobbligatorio

    format: "uuid"

  • sender_addressstring | nullobbligatorio
  • sending_blockernon specificatoobbligatorio
  • anyOf 1object
  • codestringobbligatorio
  • messagestringobbligatorio
  • anyOf 2null
  • designnon specificatoobbligatorio
  • anyOf 1object
  • idstring

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestring
  • subjectstring
  • body_textstring
  • contentobject
  • Proprietà aggiuntivastring
  • slotsarray
  • Ogni elementoobject
  • keystringobbligatorio

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

    Ulteriore annidamento omesso

  • labelstring

    maxLength: 120

    Ulteriore annidamento omesso

  • typestring

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

    Ulteriore annidamento omesso

  • helpstring

    maxLength: 300

    Ulteriore annidamento omesso

  • 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 specificatoobbligatorio
  • anyOf 1non specificato
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio

    minimum: 1

  • review_requiredbooleanobbligatorio
  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • translationsarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • translation_jobsarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • allOf 2object
  • source_revisionnon specificatoobbligatorio
  • anyOf 1object

    Ulteriore annidamento omesso

  • anyOf 2null

    Ulteriore annidamento omesso

  • published_source_revisionnon specificatoobbligatorio
  • anyOf 1object

    Ulteriore annidamento omesso

  • anyOf 2null

    Ulteriore annidamento omesso

  • translationsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • anyOf 2null
  • subjectstring | nullobbligatorio
  • sender_mailboxnon specificatoobbligatorio
  • anyOf 1object
  • idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • display_namestringobbligatorio
  • statusstringobbligatorio
  • anyOf 2null
  • reply_mailboxnon specificatoobbligatorio
  • anyOf 1object
  • idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • display_namestringobbligatorio
  • statusstringobbligatorio
  • anyOf 2null
  • design_versioninteger | nullobbligatorio
  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

broadcastId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestring

    minLength: 1 · maxLength: 200

  • mailbox_idstring

    format: "uuid"

  • template_idstring

    format: "uuid"

  • audienceobject

    Nessuna proprietà aggiuntiva

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Ogni elementostring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0 · maximum: 7

  • expires_after_secondsinteger

    Scarta i destinatari non inviati dopo questo numero di secondi dall’orario programmato.

    minimum: 1 · maximum: 604800

  • content_overridesobject
  • Proprietà aggiuntivastring

    maxLength: 20000

  • expected_versionintegerobbligatorio

    minimum: 1

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • 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
  • Ogni elementostring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobbligatorio
  • subject_variantsarray
  • Ogni elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Proprietà aggiuntivastring
  • audience_queryobject

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    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
  • Proprietà aggiuntivaQualsiasi valore
  • broadcast_idstringobbligatorio

    format: "uuid"

  • sender_addressstring | nullobbligatorio
  • sending_blockernon specificatoobbligatorio
  • anyOf 1object
  • codestringobbligatorio
  • messagestringobbligatorio
  • anyOf 2null
  • designnon specificatoobbligatorio
  • anyOf 1object
  • idstring

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestring
  • subjectstring
  • body_textstring
  • contentobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • slotsarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • 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 specificatoobbligatorio
  • anyOf 1non specificato
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • versionintegerobbligatorio

    minimum: 1

    Ulteriore annidamento omesso

  • review_requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • submitted_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • approved_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revisionobject

    Ulteriore annidamento omesso

  • translationsarray

    Ulteriore annidamento omesso

  • translation_jobsarray

    Ulteriore annidamento omesso

  • allOf 2object
  • source_revisionnon specificatoobbligatorio

    Ulteriore annidamento omesso

  • published_source_revisionnon specificatoobbligatorio

    Ulteriore annidamento omesso

  • translationsarrayobbligatorio

    Ulteriore annidamento omesso

  • anyOf 2null
  • subjectstring | nullobbligatorio
  • sender_mailboxnon specificatoobbligatorio
  • anyOf 1object
  • idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • display_namestringobbligatorio
  • statusstringobbligatorio
  • anyOf 2null
  • reply_mailboxnon specificatoobbligatorio
  • anyOf 1object
  • idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • display_namestringobbligatorio
  • statusstringobbligatorio
  • anyOf 2null
  • design_versioninteger | nullobbligatorio
  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • allOf 2object
  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • audienceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • template_idstring

    format: "uuid"

  • subjectstring

    minLength: 0 · maxLength: 10000

  • content_overridesobject
  • Proprietà aggiuntivastring

    maxLength: 20000

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • countintegerobbligatorio
  • missing_consent_evidence_countintegerobbligatorio
  • samplearrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • excludedobjectobbligatorio
  • suppressedintegerobbligatorio
  • not_subscribedintegerobbligatorio
  • missing_recipient_hashintegerobbligatorio
  • missing_consent_evidenceintegerobbligatorio
  • allOf 2object
  • eligible_countintegerobbligatorio
  • required_variablesarrayobbligatorio
  • Ogni elementostring
  • missing_personalization_fieldsarrayobbligatorio
  • Ogni elementoobject
  • variablestringobbligatorio
  • missingCountintegerobbligatorio
  • sampleEmailsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

broadcastId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • audienceobject

    Nessuna proprietà aggiuntiva

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • countintegerobbligatorio
  • missing_consent_evidence_countintegerobbligatorio
  • samplearrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • excludedobjectobbligatorio
  • suppressedintegerobbligatorio
  • not_subscribedintegerobbligatorio
  • missing_recipient_hashintegerobbligatorio
  • missing_consent_evidenceintegerobbligatorio
  • allOf 2object
  • eligible_countintegerobbligatorio
  • required_variablesarrayobbligatorio
  • Ogni elementostring
  • missing_personalization_fieldsarrayobbligatorio
  • Ogni elementoobject
  • variablestringobbligatorio
  • missingCountintegerobbligatorio
  • sampleEmailsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

broadcastId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataobjectobbligatorio
  • broadcast_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • readybooleanobbligatorio
  • blockersarrayobbligatorio
  • Ogni elementoobject
  • codestringobbligatorio
  • messagestringobbligatorio
  • audiencenon specificatoobbligatorio
  • allOf 1object
  • countintegerobbligatorio
  • missing_consent_evidence_countintegerobbligatorio
  • samplearrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • emailstringobbligatorio

    Ulteriore annidamento omesso

  • display_namestring | nullobbligatorio

    Ulteriore annidamento omesso

  • attributesobjectobbligatorio

    Ulteriore annidamento omesso

  • excludedobjectobbligatorio
  • suppressedintegerobbligatorio
  • not_subscribedintegerobbligatorio
  • missing_recipient_hashintegerobbligatorio
  • missing_consent_evidenceintegerobbligatorio
  • allOf 2object
  • eligible_countintegerobbligatorio
  • required_variablesarrayobbligatorio
  • Ogni elementostring
  • missing_personalization_fieldsarrayobbligatorio
  • Ogni elementoobject
  • variablestringobbligatorio

    Ulteriore annidamento omesso

  • missingCountintegerobbligatorio

    Ulteriore annidamento omesso

  • sampleEmailsarrayobbligatorio

    Ulteriore annidamento omesso

  • audienceobjectobbligatorio

    Seleziona tutti i contatti iscritti o almeno una lista non vuota tra contact_ids, list_ids e segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • list_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • segment_idsarray

    maxItems: 1000

  • Ogni elementostring

    format: "uuid"

    Ulteriore annidamento omesso

  • campaign_versionintegerobbligatorio
  • design_versioninteger | nullobbligatorio
  • languagesnon specificatoobbligatorio
  • anyOf 1object

    Le lingue del pubblico ancora in traduzione non bloccano mai la Campagna. I lettori la ricevono quando la traduzione è pronta e vengono saltati (translation_failed, translation_awaiting_review o translation_still_preparing) se non è pronta entro un giorno dall’invio.

  • requestedarrayobbligatorio
  • Ogni elementoobject
  • localestringobbligatorio

    Ulteriore annidamento omesso

  • countintegerobbligatorio

    Ulteriore annidamento omesso

  • pending_localesarrayobbligatorio
  • Ogni elementostring
  • waiting_localesarrayobbligatorio
  • Ogni elementostring
  • anyOf 2null
  • sendingobjectobbligatorio
  • 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 specificatoobbligatorio
  • anyOf 1object
  • daysintegerobbligatorio
  • daily_limitintegerobbligatorio
  • messagestringobbligatorio
  • anyOf 2null
  • approval_requirementsobjectobbligatorio
  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio
  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring
  • footerobjectobbligatorio
  • identity_presentbooleanobbligatorio
  • address_presentbooleanobbligatorio
  • checks_are_advisorybooleanobbligatorio

    const: true

  • next_actionstringobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

broadcastId
path · obbligatorio
  • 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"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • 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"

  • pageobjectobbligatorio
  • next_cursorstring
  • has_morebooleanobbligatorio
  • delivery_semanticsstringobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

broadcastId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • typestringobbligatorio
  • occurred_atstringobbligatorio

    format: "date-time"

  • actor_idstring | nullobbligatorio
  • detailobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • delivery_semanticsstringobbligatorio

Esempio 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'

Percorsi

GET/v1/workspaces/{workspaceId}/journeys

listJourneys

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • 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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Percorsi del prodotto.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementonon specificato
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring

    Ulteriore annidamento omesso

  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

    Ulteriore annidamento omesso

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

    Ulteriore annidamento omesso

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring

    Ulteriore annidamento omesso

  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

    Ulteriore annidamento omesso

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

    Ulteriore annidamento omesso

  • preheaderstring

    maxLength: 100000

    Ulteriore annidamento omesso

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

    Ulteriore annidamento omesso

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

    Ulteriore annidamento omesso

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

    Ulteriore annidamento omesso

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject

    Ulteriore annidamento omesso

  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • positioninteger

    minimum: 1 · maximum: 100

    Ulteriore annidamento omesso

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

    Ulteriore annidamento omesso

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

    Ulteriore annidamento omesso

  • armsarray

    minItems: 2 · maxItems: 4

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

  • oneOf 1object

    Nessuna proprietà aggiuntiva

  • typestringobbligatorio

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultnon specificato

    Deve corrispondere al tipo del campo.

    Ulteriore annidamento omesso

  • oneOf 2object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "object"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultobject

    Ulteriore annidamento omesso

  • propertiesobjectobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "list"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultarray

    Ulteriore annidamento omesso

  • itemsnon specificatoobbligatorio

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring
  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • 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
  • Ogni elementostring
  • variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • published_variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio

    enum: "A", "B", "C", "D"

  • labelstringobbligatorio

    maxLength: 120

  • allocationnumberobbligatorio

    minimum: 0 · maximum: 100

  • stepsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

Risposta di successo 201

Percorso creato.

application/json

  • valueobject
  • datanon specificato
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_localestring | null

    Ulteriore annidamento omesso

  • configured_localesarray

    Ulteriore annidamento omesso

  • variablesobject

    Ulteriore annidamento omesso

  • published_variablesobject

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Definizione del Percorso, attività delle iscrizioni e test.

application/json

  • valueobject
  • datanon specificato
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_localestring | null

    Ulteriore annidamento omesso

  • configured_localesarray

    Ulteriore annidamento omesso

  • variablesobject

    Ulteriore annidamento omesso

  • published_variablesobject

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

  • oneOf 1object

    Nessuna proprietà aggiuntiva

  • typestringobbligatorio

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultnon specificato

    Deve corrispondere al tipo del campo.

    Ulteriore annidamento omesso

  • oneOf 2object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "object"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultobject

    Ulteriore annidamento omesso

  • propertiesobjectobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "list"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultarray

    Ulteriore annidamento omesso

  • itemsnon specificatoobbligatorio

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring
  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • 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
  • Ogni elementostring
  • variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • published_variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio

    enum: "A", "B", "C", "D"

  • labelstringobbligatorio

    maxLength: 120

  • allocationnumberobbligatorio

    minimum: 0 · maximum: 100

  • stepsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

Risposta di successo 200

Percorso aggiornato.

application/json

  • valueobject
  • datanon specificato
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_localestring | null

    Ulteriore annidamento omesso

  • configured_localesarray

    Ulteriore annidamento omesso

  • variablesobject

    Ulteriore annidamento omesso

  • published_variablesobject

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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}

Aggiorna i campi selezionati del Percorso conservando gli altri campi della definizione.

Supporta name, description, mailbox_id, from_local_part, trigger, audience, goal, exit, approval_mode, api e steps. Gli oggetti trigger, goal, api ed exit si uniscono a un livello; steps sostituisce l’albero fornito. Includi expected_version per rifiutare una modifica obsoleta.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • expected_versioninteger

    minimum: 1

  • namestring
  • descriptionstring
  • mailbox_idstring

    format: "uuid"

  • from_local_partstring
  • triggerobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject
  • Proprietà aggiuntivaQualsiasi valore
  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • Proprietà aggiuntivaQualsiasi valore
  • stepsarray
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • 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
  • Ogni elementostring
  • variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • published_variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio

    enum: "A", "B", "C", "D"

  • labelstringobbligatorio

    maxLength: 120

  • allocationnumberobbligatorio

    minimum: 0 · maximum: 100

  • stepsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

Risposta di successo 200

Percorso aggiornato.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_localestring | null

    Ulteriore annidamento omesso

  • configured_localesarray

    Ulteriore annidamento omesso

  • variablesobject

    Ulteriore annidamento omesso

  • published_variablesobject

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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

Archivia il percorso, rimuovendolo dalla lista predefinita e interrompendo le iscrizioni attive. La cronologia di invio viene conservata.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Percorso rimosso.

Nessun corpo della risposta.

Esempio 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

Converti un Percorso legacy in pausa o in bozza in contenuti gestiti preparati.

Conversione a senso unico. Per un Percorso con un passaggio email, fornisci contract. Per più email, inclusi i rami di suddivisione, fornisci step_contents con esattamente uno step_id salvato e un contratto HTML/Liquid preparato per email. La conversione è atomica e porta il Percorso allo stato draft. Ogni nuova revisione di contenuto gestito riceve la propria revisione di pubblicazione regolata; durante la conversione non viene inviata o pubblicata alcuna email. Banger non importa né esegue mai codice sorgente.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • expected_versionintegerobbligatorio

    minimum: 1

  • contractobject

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

  • oneOf 1object

    Nessuna proprietà aggiuntiva

  • typestringobbligatorio

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultnon specificato

    Deve corrispondere al tipo del campo.

    Ulteriore annidamento omesso

  • oneOf 2object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "object"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultobject

    Ulteriore annidamento omesso

  • propertiesobjectobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "list"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultarray

    Ulteriore annidamento omesso

  • itemsnon specificatoobbligatorio

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring
  • step_contentsarray

    minItems: 1

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • step_idstringobbligatorio

    format: "uuid"

  • contractobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • oneOf 1non specificato
  • oneOf 2non specificato

Risposta di successo 200

Ripetizione idempotente della stessa conversione.

application/json

  • valueobject
  • dataobjectobbligatorio
  • journey_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft"

  • review_requiredbooleanobbligatorio

    const: true

  • managed_content_stepsarrayobbligatorio
  • Ogni elementoobject
  • step_idstringobbligatorio

    format: "uuid"

  • managed_content_idstringobbligatorio

    format: "uuid"

  • content_versionintegerobbligatorio
  • source_revision_idstring | nullobbligatorio

    format: "uuid"

  • previewobjectobbligatorio
  • subjectstringobbligatorio
  • preheaderstring
  • htmlstringobbligatorio
  • textstringobbligatorio
  • localestringobbligatorio
  • directionstringobbligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Ogni elementostring

    Ulteriore annidamento omesso

  • Proprietà aggiuntivaQualsiasi valore
  • translation_jobsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • managed_content_idstring

    format: "uuid"

  • content_versioninteger
  • source_revision_idstring | null

    format: "uuid"

  • previewobject
  • subjectstringobbligatorio
  • preheaderstring
  • htmlstringobbligatorio
  • textstringobbligatorio
  • localestringobbligatorio
  • directionstringobbligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Ogni elementostring
  • Proprietà aggiuntivaQualsiasi valore
  • replayedbooleanobbligatorio
  • approvalsarrayobbligatorio
  • Ogni elementoobject
  • step_idstringobbligatorio

    format: "uuid"

  • approvalobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray

    Ulteriore annidamento omesso

  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

    Ulteriore annidamento omesso

  • recipient_countinteger | nullobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • reasonsarrayobbligatorio

    Ulteriore annidamento omesso

  • checksarrayobbligatorio

    Ulteriore annidamento omesso

  • approvalobject
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Genera un passaggio email salvato del Percorso senza inviare.

Specifica step_id quando il Percorso ha più passaggi email, inclusi i rami di suddivisione. Usa la revisione immutabile del contenuto selezionata, bozza o pubblicata.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • step_idstring

    format: "uuid"

  • content_statestring

    default: "draft" · enum: "draft", "published"

  • localestring
  • timezonestring
  • sample_setstring
  • variablesobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Oggetto generato, HTML, testo semplice, locale, identificatori di revisione e avvisi di estrazione.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • subjectstringobbligatorio
  • preheaderstring
  • htmlstringobbligatorio
  • textstringobbligatorio
  • localestringobbligatorio
  • directionstringobbligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Ogni elementostring
  • Proprietà aggiuntivaQualsiasi valore
  • allOf 2object
  • source_revision_idstringobbligatorio

    format: "uuid"

  • layout_revision_idstring | nullobbligatorio

    format: "uuid"

Esempio 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

Simula un Percorso salvato con idoneità al momento del trigger e campagne gestite facoltative.

Simulazione di sola lettura. Ometti enrollment per un’anteprima dopo l’iscrizione, oppure fornisci uno scenario di trigger esplicito per verificare l’idoneità del contatto attuale salvato. Se enrollment è presente, scope è from_trigger e la prima voce della cronologia è di kind enrollment; i destinatari non idonei saltano i passaggi del Percorso mentre i candidati delle campagne indipendenti proseguono. assume_active modella un’attivazione ipotetica, non l’approvazione prevista dalla governance. Non vengono simulati ricezione/deduplicazione degli eventi del provider, consegna e latenza del provider, stato storico del pubblico, trigger programmati e da email in arrivo. Un Percorso API rilevato usa il proprio percorso speciale di upsert iniziale; la successiva esclusione dalla consegna è separata. Un Percorso API attivo verifica il pubblico salvato prima dell’upsert del contatto; la simulazione modella quest’ordine senza scrivere. Un destinatario API escluso può quindi avere una voce di iscrizione idonea seguita da exit/suppress, senza invio generato; le campagne in attesa vengono annullate.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • atstringobbligatorio

    format: "date-time"

  • enrollment_idstring
  • content_statestring

    default: "draft" · enum: "draft", "published"

  • localestring
  • variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • communication_historyarray

    Invii o prenotazioni precedenti per questo destinatario simulato.

    maxItems: 10000

  • Ogni elementostring

    format: "date-time"

  • contactobjectobbligatorio
  • emailstringobbligatorio

    format: "email"

  • display_namestringobbligatorio
  • attributesobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • enrollmentobject

    Tentativo di trigger facoltativo al timestamp at di primo livello. I contatti salvati usano iscrizione, esclusione e appartenenza al pubblico attuali. I contatti API/evento ipotetici richiedono stati espliciti subscribed e suppressed=false e un pubblico all_subscribed.

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "manual", "api", "contact_created", "audience_joined", "event"

  • eventstring

    maxLength: 200

  • assume_activeboolean

    default: false

  • contact_statusstring

    enum: "subscribed", "unsubscribed"

  • suppressedboolean
  • eventsarray

    maxItems: 1000

  • Ogni elementoobject
  • atstringobbligatorio

    format: "date-time"

  • kindstringobbligatorio

    enum: "attributes", "reply", "unsubscribe", "suppress", "goal"

  • attributesobject
  • Proprietà aggiuntivaQualsiasi valore
  • broadcastsarray

    Campagne programmate salvate o candidati espliciti con contenuto gestito valutati sulla stessa cronologia del destinatario.

    maxItems: 20

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • oneOf 1non specificato
  • oneOf 2non specificato

Risposta di successo 200

Cronologia ordinata, dettagli delle email generate, scope e avvisi della simulazione. Gli esiti di iscrizione includono 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 e audience_unverified. I dettagli identificano il trigger e la fonte dello stato del contatto e possono indicare che le condizioni del trigger archiviate non sono valutate dal runtime attuale. I destinatari di campagne salvate già in coda per l’invio producono already_queued; already_sent è riservato a un invio accettato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • journey_idstringobbligatorio

    format: "uuid"

  • journey_versionintegerobbligatorio
  • content_statestringobbligatorio

    enum: "draft", "published"

  • scopestringobbligatorio

    enum: "from_trigger", "after_enrollment"

  • communication_policy_versionintegerobbligatorio
  • timelinearrayobbligatorio
  • Ogni elementoobject
  • atstringobbligatorio

    format: "date-time"

  • step_idstring

    format: "uuid"

  • kindstringobbligatorio
  • outcomestringobbligatorio
  • detailsnon specificato

    Prove della simulazione specifiche per esito.

  • emailsarrayobbligatorio
  • Ogni elementoobject
  • step_idstring | nullobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • armobject
  • split_step_idstring

    format: "uuid"

  • keystringobbligatorio
  • labelstringobbligatorio
  • sourcestringobbligatorio

    enum: "managed", "design", "inline", "empty"

  • statusstringobbligatorio

    enum: "rendered", "blocked"

  • subjectstring
  • previewstring
  • codestring
  • messagestring
  • warningsarrayobbligatorio
  • Ogni elementostring

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • statusstringobbligatorio

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

Risposta di successo 200

Stato del Percorso aggiornato.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_localestring | null

    Ulteriore annidamento omesso

  • configured_localesarray

    Ulteriore annidamento omesso

  • variablesobject

    Ulteriore annidamento omesso

  • published_variablesobject

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Anteprima del pubblico e della prontezza del Percorso.

application/json

  • valueobject
  • dataobjectobbligatorio
  • sequence_idstringobbligatorio

    format: "uuid"

  • recipient_countintegerobbligatorio
  • sample_recipientsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestring | nullobbligatorio
  • stepsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • 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
  • Ogni elementostring

    Ulteriore annidamento omesso

  • variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • published_variablesobject
  • Proprietà aggiuntivaQualsiasi valore
  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio

    enum: "A", "B", "C", "D"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    maxLength: 120

    Ulteriore annidamento omesso

  • allocationnumberobbligatorio

    minimum: 0 · maximum: 100

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    Ulteriore annidamento omesso

  • readybooleanobbligatorio
  • exit_configobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • emailsarrayobbligatorio
  • Ogni elementoobject
  • step_idstring | nullobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • armobject
  • split_step_idstring

    format: "uuid"

  • keystringobbligatorio
  • labelstringobbligatorio
  • sourcestringobbligatorio

    enum: "managed", "design", "inline", "empty"

  • template_idstring

    format: "uuid"

  • managed_content_idstring

    format: "uuid"

  • subjectstringobbligatorio
  • previewstringobbligatorio
  • blockersarrayobbligatorio
  • Ogni elementoobject
  • codestringobbligatorio

    Ulteriore annidamento omesso

  • messagestringobbligatorio

    Ulteriore annidamento omesso

  • blockersarrayobbligatorio
  • Ogni elementoobject
  • codestringobbligatorio
  • messagestringobbligatorio
  • step_idstring | nullobbligatorio

    format: "uuid"

  • step_namestringobbligatorio
  • armstring

Esempio 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

Iscrivi contatti espliciti a un Percorso tramite un’approvazione regolata.

Alias di POST /approvals con action_kind sequence.enroll e payload {sequence_id, contact_ids, sequence_version?, sequence_definition_sha256?}. Usa lo stesso Idempotency-Key, quindi la stessa chiave restituisce la stessa approvazione da entrambe le route. Richiede campaigns:send e un prodotto.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • contact_idsarrayobbligatorio

    minItems: 1 · maxItems: 2000

  • Ogni elementostring

    format: "uuid"

  • sequence_versioninteger

    minimum: 1

  • sequence_definition_sha256string

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

Risposta di successo 200

Lo stesso Idempotency-Key ha riprodotto un’approvazione esistente.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Esecuzioni dei passaggi del Percorso.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • enrollment_idstringobbligatorio

    format: "uuid"

  • step_idstringobbligatorio

    format: "uuid"

  • positionintegerobbligatorio
  • kindstringobbligatorio
  • namestringobbligatorio
  • statusstringobbligatorio
  • attempt_countintegerobbligatorio
  • send_intent_idstring | nullobbligatorio

    format: "uuid"

  • error_codestring | nullobbligatorio
  • started_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • 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"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Le persone nel Percorso, dall’ingresso più recente, con l’esito di ogni passaggio email.

application/json

  • valueobject
  • dataobjectobbligatorio
  • stepsobjectobbligatorio

    Indicizzato per ID del passaggio, per ogni passaggio raggiunto da qualcuno.

  • Proprietà aggiuntivaobject
  • receivedintegerobbligatorio
  • skippedintegerobbligatorio
  • failedintegerobbligatorio
  • nowintegerobbligatorio
  • emailsarrayobbligatorio
  • Ogni elementoobject
  • step_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • subjectstringobbligatorio
  • split_step_idstring

    format: "uuid"

  • arm_keystring
  • countsobjectobbligatorio
  • allintegerobbligatorio
  • in_progressintegerobbligatorio
  • finishedintegerobbligatorio
  • goal_reachedintegerobbligatorio
  • exitedintegerobbligatorio
  • failedintegerobbligatorio
  • peoplearrayobbligatorio
  • Ogni elementoobject
  • enrollment_idstringobbligatorio

    format: "uuid"

  • contact_idstringobbligatorio

    format: "uuid"

  • emailstringobbligatorio
  • display_namestringobbligatorio
  • statestringobbligatorio

    enum: "in_progress", "finished", "goal_reached", "exited", "failed"

  • stop_reasonstring
  • error_codestring
  • current_stepobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • kindstringobbligatorio
  • next_action_atstring

    format: "date-time"

  • enrolled_atstringobbligatorio

    format: "date-time"

  • completed_atstring

    format: "date-time"

  • pathsobjectobbligatorio
  • Proprietà aggiuntivastring
  • emailsobjectobbligatorio

    Indicizzato per ID del passaggio email. Un passaggio senza voce non è stato raggiunto.

  • Proprietà aggiuntivaobject
  • statestringobbligatorio

    translating indica che l’email attende la traduzione della persona. skipped include error_code translation_failed, translation_awaiting_review o translation_still_preparing (il motivo per cui la traduzione non era pronta in tempo), e none se il traguardo è stato raggiunto prima.

    enum: "pending", "translating", "skipped", "failed", "queued", "sent", "delivered", "opened", "clicked", "replied", "bounced", "complained"

    Ulteriore annidamento omesso

  • atstringobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • send_intent_idstring

    Leggi il messaggio esatto ricevuto da questa persona con GET /transactional-sends/{send_intent_id}.

    format: "uuid"

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • languagenon specificato

    La lingua in cui la persona ha ricevuto questa email o, durante translating, quella che attende.

    Ulteriore annidamento omesso

  • variant_keystring

    La variante dell’esperimento di questa email ricevuta dalla persona, quando il passaggio esegue un esperimento.

    Ulteriore annidamento omesso

  • pageobjectobbligatorio
  • has_morebooleanobbligatorio
  • next_cursorstring

Esempio 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

Invia un’email tramite il Percorso. reply_to usa per default la casella del Percorso; anche una lista vuota indica il default. Un rifiuto (4xx) non congela nulla per il destinatario, quindi una chiamata corretta con una nuova chiave di idempotenza invia.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyKey
path · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 100

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • tonon specificato

    Destinatari per to, cc, bcc e reply_to: un indirizzo ("a@example.com" o "Pat <a@example.com>"), un oggetto { email, name } o una lista che combina entrambi. Banger li archivia come oggetti { email, name } con l’email in minuscolo. L’hash di idempotenza copre il corpo così come inviato, quindi riprova con la stessa forma.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobbligatorio

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Ogni elementonon specificato
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobbligatorio

    format: "email"

  • reply_tonon specificato

    Destinatari per to, cc, bcc e reply_to: un indirizzo ("a@example.com" o "Pat <a@example.com>"), un oggetto { email, name } o una lista che combina entrambi. Banger li archivia come oggetti { email, name } con l’email in minuscolo. L’hash di idempotenza copre il corpo così come inviato, quindi riprova con la stessa forma.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobbligatorio

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Ogni elementonon specificato
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobbligatorio

    format: "email"

  • expires_atstring

    format: "date-time"

  • expires_after_secondsinteger

    minimum: 1 · maximum: 604800

  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 202

Email del Percorso accettata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • action_kindstringobbligatorio

    enum: "transactional.send"

  • idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • provider_attempt_idstring

    format: "uuid"

  • statusstringobbligatorio

    Stati sent/queued dalla consegna oppure, per una richiesta congelata: deferred (programmata dalla politica o in attesa di traduzione), processing (in invio), discarded.

  • replayedboolean
  • journeynon specificatoobbligatorio
  • anyOf 1object
  • journey_idstringobbligatorio

    format: "uuid"

  • enrollment_idstringobbligatorio

    format: "uuid"

  • step_idstringobbligatorio

    format: "uuid"

  • step_positionintegerobbligatorio
  • originstring

    enum: "journey"

  • journey_identitystring
  • anyOf 2null
  • ignored_variablesarrayobbligatorio
  • Ogni elementostring
  • scheduled_atstring

    format: "date-time"

  • reasonstring
  • communication_reservation_idstring

    format: "uuid"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • mailbox_idstringobbligatorio

    format: "uuid"

  • delivery_classstringobbligatorio

    enum: "product", "broadcast"

  • content_modestringobbligatorio

    enum: "code", "managed"

  • template_idstring

    format: "uuid"

  • from_sampleboolean
  • variablesarray

    maxItems: 50

  • Ogni elementoobject
  • literalstringobbligatorio

    minLength: 1 · maxLength: 10000

  • namestringobbligatorio

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

  • activateboolean

Risposta di successo 200

Percorso rilevato acquisito.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_localestring | null

    Ulteriore annidamento omesso

  • configured_localesarray

    Ulteriore annidamento omesso

  • variablesobject

    Ulteriore annidamento omesso

  • published_variablesobject

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • loser_idstringobbligatorio

    format: "uuid"

Risposta di successo 200

Percorsi uniti.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_localestring | null

    Ulteriore annidamento omesso

  • configured_localesarray

    Ulteriore annidamento omesso

  • variablesobject

    Ulteriore annidamento omesso

  • published_variablesobject

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

stepId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • arm_keystringobbligatorio

Risposta di successo 200

Ramo vincente promosso.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

  • triggerobjectobbligatorio
  • kindstringobbligatorio

    enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Ogni persona entra una volta. Imposta false per consentire un nuovo ingresso dopo il completamento.

    default: true

  • reentry_daysinteger

    Con once_per_person false, giorni dall’ultimo ingresso della persona prima che possa entrare di nuovo.

    minimum: 1 · maximum: 365

  • Proprietà aggiuntivaQualsiasi valore
  • conditionsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • audienceobject
  • Proprietà aggiuntivaQualsiasi valore
  • goalobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "none", "event", "reply", "conversion"

  • connection_idstring

    format: "uuid"

  • configobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • exitobject

    Nessuna proprietà aggiuntiva

  • 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

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobbligatorio

    enum: "email", "wait", "condition", "action", "split"

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contratto sorgente tipizzato e identità della revisione bozza/pubblicata per un passaggio email.

  • idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • versioninteger

    Ulteriore annidamento omesso

  • draft_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_publication_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • published_layout_revision_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • source_localestring | null

    Ulteriore annidamento omesso

  • configured_localesarray

    Ulteriore annidamento omesso

  • variablesobject

    Ulteriore annidamento omesso

  • published_variablesobject

    Ulteriore annidamento omesso

  • configobjectobbligatorio

    I passaggi di attesa accettano facoltativamente until con name, path, operator (equals, not_equals, contains o exists) e value, più on_met obbligatorio (continue o end_journey). continue salta l’email promemoria successiva; end_journey completa il Percorso. Un’email promemoria deve seguire immediatamente nello stesso ramo. L’attesa verifica i dati attuali del cliente ogni minuto fino a amount/unit. I campi mancanti sono sconosciuti e trattengono il promemoria. Le attese ordinarie e le condizioni autonome mantengono il comportamento esistente. Dai un nome alle verifiche usando traguardi del cliente verificati. I passaggi email gestiti referenziano il contenuto pubblicato tramite managed_content_id; l’attivazione rifiuta un riferimento non pubblicato. I passaggi email possono impostare expires_after_seconds (1-604800) per scartare un invio differito dopo tale intervallo dall’avvio originale; il default è sette giorni.

  • Proprietà aggiuntivaQualsiasi valore
  • armsarray

    minItems: 2 · maxItems: 4

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Ogni elementostring
  • samplesarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • versionintegerobbligatorio

    minimum: 1

  • statsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • armStatsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • healthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • indicatorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • sparklinearrayobbligatorio
  • Ogni elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

journeyId
path · obbligatorio
  • valuestring

    format: "uuid"

position
query
  • valueinteger

    minimum: 1 · maximum: 100

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Numero di rami di test e tempo di decisione consigliati.

application/json

  • valueobject
  • dataobjectobbligatorio
  • arms_maxintegerobbligatorio
  • weekly_arrivalsintegerobbligatorio
  • per_arm_eta_daysobjectobbligatorio
  • Proprietà aggiuntivanumber

Esempio curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/recommend?position=1' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Approvazioni

GET/v1/workspaces/{workspaceId}/approvals/{approvalId}/managed-layout-preview/{contentId}

Leggi le versioni complete prima/dopo nella locale sorgente per i contenuti legati a un’approvazione di layout.

Ricostruisce da revisioni immutabili e verifica entrambi gli hash sorgente rispetto all’istantanea dell’approvazione. Non accetta sostituzioni della locale.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

sample
query
  • valuestring

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Oggetto, HTML e testo semplice completi prima e dopo, verificati tramite hash.

application/json

  • valueobject
  • dataobjectobbligatorio
  • content_idstringobbligatorio

    format: "uuid"

  • sample_namestring | nullobbligatorio
  • localestringobbligatorio
  • old_source_hashstringobbligatorio
  • new_source_hashstringobbligatorio
  • beforeobjectobbligatorio
  • subjectstringobbligatorio
  • htmlstringobbligatorio
  • textstringobbligatorio
  • afterobjectobbligatorio
  • subjectstringobbligatorio
  • htmlstringobbligatorio
  • textstringobbligatorio

Esempio 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

Genera ogni email di un’approvazione di attivazione o iscrizione del Percorso dalla sua istantanea di revisione associata.

Le email sono generate con personalizzazione di esempio dalla definizione esatta revisionata (design salvati tramite la loro chiave HTML immutabile, revisioni gestite fissate), mai dal Percorso attuale. Indica anche le liste del pubblico, i segmenti e le connessioni di trigger/obiettivo referenziate dall’istantanea.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Email generate indicizzate per posizione del passaggio (passaggi dei rami come parent.arm.position), più nomi del pubblico e delle connessioni.

application/json

  • valueobject
  • dataobjectobbligatorio
  • approval_idstringobbligatorio

    format: "uuid"

  • sequence_idstring | null

    format: "uuid"

  • emailsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio
  • positionintegerobbligatorio
  • parent_positioninteger | nullobbligatorio
  • arm_keystring | nullobbligatorio
  • sourcestringobbligatorio

    enum: "managed", "design", "inline", "empty"

  • subjectstringobbligatorio
  • preview_textstringobbligatorio
  • body_htmlstring
  • body_textstringobbligatorio
  • publishedboolean
  • errorstring
  • listsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • namestringobbligatorio
  • member_countintegerobbligatorio
  • segmentsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • namestringobbligatorio
  • connectionsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • namestringobbligatorio
  • image_assetsobjectobbligatorio
  • Proprietà aggiuntivastring
  • sample_valuesbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

status
query
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Casella di controllo delle revisioni automatiche e umane del workspace.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Per le azioni canoniche Banger, Banger ricava gli ambiti esatti, applica la politica di revisione del workspace, registra una richiesta di controllo immutabile e mette automaticamente in coda le azioni entro il limite configurato. Per pubblicare una sorgente email gestita, usa action_kind managed_email.publish e payload {content_id, expected_version}; Banger vincola revisione/hash della sorgente e impone la revisione umana quando richiesta. I tipi di approvazione generici restano sempre in attesa e devono fornire summary, capabilities e resources. Nei payload mail.draft e transactional.send, to, cc, bcc e reply_to accettano qualsiasi forma RecipientInput e sono archiviati come oggetti { email, name }.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Obbligatorio per le azioni Banger riconosciute; le richieste di approvazione personalizzate non usano questo header.

  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • action_kindstringobbligatorio

    minLength: 1 · maxLength: 100

  • summarystring

    minLength: 1 · maxLength: 500

  • capabilitiesarray

    minItems: 1 · maxItems: 50

  • Ogni elementostring

    maxLength: 100

  • resourcesobject
  • Proprietà aggiuntivaarray

    maxItems: 500

  • Ogni elementostring

    maxLength: 200

  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • expires_in_secondsinteger

    minimum: 60 · maximum: 86400 · default: 3600

  • approve_as_launcherboolean

    Per sequence.activate: una persona che preme Attiva approva questa esatta richiesta quando la politica di revisione richiede una persona. Ignorato per chiavi API e agenti, che attendono in Approvazioni.

Risposta di successo 201

Richiesta regolata creata; potrebbe essere già approvata automaticamente e in coda.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Conta le approvazioni in attesa o scadute prima di una decisione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Conteggi delle approvazioni senza decisione nell’ambito del prodotto.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • pendingintegerobbligatorio

    minimum: 0

  • missedintegerobbligatorio

    minimum: 0

  • totalintegerobbligatorio

    minimum: 0

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Richiesta di approvazione esatta e payload dell’azione associato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Solo sessioni browser umane. Le chiavi API del workspace non possono decidere le approvazioni.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • decisionstringobbligatorio

    enum: "approved", "rejected"

  • reasonstring

    maxLength: 500

  • expected_payload_sha256string

    Hash del payload di approvazione esatto mostrato al revisore; una mancata corrispondenza restituisce 409.

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

Risposta di successo 200

Decisione di approvazione registrata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Annulla un’approvazione ancora in attesa senza eseguirla. Solo sessioni browser umane.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • reasonstring

    maxLength: 500

Risposta di successo 200

Approvazione annullata ed eventuale esecuzione dell’agente in attesa ripresa senza l’azione.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Archivia un’approvazione la cui finestra di decisione è scaduta. Solo sessioni browser umane.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Approvazione scaduta archiviata e registrata come annullata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Clona un’approvazione scaduta con una nuova finestra di decisione e annulla la vecchia richiesta. Solo sessioni browser umane.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 201

Nuova richiesta di approvazione creata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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

Sostituisci un’azione Banger regolata in attesa con un’approvazione nuovamente canonicalizzata. La richiesta precedente resta nella cronologia come annullata.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

approvalId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 201

Approvazione sostitutiva creata per la revisione umana.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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": {}
}'

Esecuzioni degli agenti

GET/v1/workspaces/{workspaceId}/agent-runs

Elenca le esecuzioni recenti degli agenti interni del workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Esecuzioni recenti in ordine cronologico inverso.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • taskstringobbligatorio
  • modelstringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • statusstringobbligatorio

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobbligatorio
  • max_runtime_secondsintegerobbligatorio
  • current_generationintegerobbligatorio
  • latest_checkpointobject | null
  • Proprietà aggiuntivaQualsiasi valore
  • latest_checkpoint_sequenceintegerobbligatorio
  • resultobject | null
  • Proprietà aggiuntivaQualsiasi valore
  • error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobbligatorio
  • stepsarray
  • Ogni elementoobject
  • sequenceintegerobbligatorio

    minimum: 1

  • attempt_generationintegerobbligatorio

    minimum: 1

  • kindstringobbligatorio

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobbligatorio

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputnon specificato
  • outputnon specificato
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobbligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Esempio 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

Avvia un’esecuzione isolata di un agente interno Banger.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • taskstringobbligatorio

    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

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • connection_idstringobbligatorio

    format: "uuid"

  • adapter_keystringobbligatorio

    minLength: 1 · maxLength: 63

  • operationsarrayobbligatorio

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

    minLength: 1 · maxLength: 100

  • action_toolsarray

    maxItems: 6 · uniqueItems: true

  • Ogni elementostring

    enum: "mailbox.create", "mail.draft", "transactional.send", "template.update", "campaign.draft", "campaign.schedule"

Risposta di successo 200

Ripetizione idempotente dell’esecuzione esistente.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • taskstringobbligatorio
  • modelstringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • statusstringobbligatorio

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobbligatorio
  • max_runtime_secondsintegerobbligatorio
  • current_generationintegerobbligatorio
  • latest_checkpointobject | null
  • Proprietà aggiuntivaQualsiasi valore
  • latest_checkpoint_sequenceintegerobbligatorio
  • resultobject | null
  • Proprietà aggiuntivaQualsiasi valore
  • error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobbligatorio
  • stepsarray
  • Ogni elementoobject
  • sequenceintegerobbligatorio

    minimum: 1

  • attempt_generationintegerobbligatorio

    minimum: 1

  • kindstringobbligatorio

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobbligatorio

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputnon specificato
  • outputnon specificato
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobbligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

runId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Esecuzione canonica, checkpoint, risultato finale e passaggi ordinati.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • taskstringobbligatorio
  • modelstringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • statusstringobbligatorio

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobbligatorio
  • max_runtime_secondsintegerobbligatorio
  • current_generationintegerobbligatorio
  • latest_checkpointobject | null
  • Proprietà aggiuntivaQualsiasi valore
  • latest_checkpoint_sequenceintegerobbligatorio
  • resultobject | null
  • Proprietà aggiuntivaQualsiasi valore
  • error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobbligatorio
  • stepsarray
  • Ogni elementoobject
  • sequenceintegerobbligatorio

    minimum: 1

  • attempt_generationintegerobbligatorio

    minimum: 1

  • kindstringobbligatorio

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobbligatorio

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputnon specificato
  • outputnon specificato
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobbligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

runId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Esecuzione dell’agente annullata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • taskstringobbligatorio
  • modelstringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • statusstringobbligatorio

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobbligatorio
  • max_runtime_secondsintegerobbligatorio
  • current_generationintegerobbligatorio
  • latest_checkpointobject | null
  • Proprietà aggiuntivaQualsiasi valore
  • latest_checkpoint_sequenceintegerobbligatorio
  • resultobject | null
  • Proprietà aggiuntivaQualsiasi valore
  • error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobbligatorio
  • stepsarray
  • Ogni elementoobject
  • sequenceintegerobbligatorio

    minimum: 1

  • attempt_generationintegerobbligatorio

    minimum: 1

  • kindstringobbligatorio

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobbligatorio

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputnon specificato
  • outputnon specificato
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobbligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Esempio curl

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

Agenti

GET/v1/workspaces/{workspaceId}/agents

Elenca gli agenti IA (client MCP) che possono agire per questo workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Connessioni attive degli agenti, dalla più recente.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • client_namestringobbligatorio
  • client_surfacestringobbligatorio

    La piattaforma dell’agente dietro una connessione OAuth, dal nome del client e dagli URI di reindirizzamento.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • scopesarrayobbligatorio
  • Ogni elementostring
  • connected_atstringobbligatorio

    format: "date-time"

  • last_active_atstringobbligatorio

    format: "date-time"

  • connected_by_youbooleanobbligatorio

Esempio 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

Revoca l’accesso di un agente. Smette di funzionare entro circa 30 secondi.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

agentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Accesso dell’agente revocato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • revokedbooleanobbligatorio

    const: true

Esempio curl

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

Comandi IA

POST/v1/workspaces/{workspaceId}/ai/command-runs

Avvia un comando dell’assistente email con letture e proposte soggette a conferma

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

X-Banger-Product-Id
header
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • commandTextstringobbligatorio

    minLength: 1 · maxLength: 8000

Risposta di successo 200

Richieste di lettura, una risposta o azioni che richiedono conferma

application/json

  • valueobject
  • runIdstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "requires_tool_results", "completed", "requires_confirmation"

  • assistantMessagestringobbligatorio
  • toolCallsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • toolNamestringobbligatorio
  • argumentsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • reasonstringobbligatorio
  • proposedActionsarrayobbligatorio
  • Ogni elementonon specificato
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • toolNamestringobbligatorio
  • argumentsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • reasonstringobbligatorio
  • allOf 2object
  • confirmationRequiredbooleanobbligatorio

    const: true

Esempio 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

Continua un comando dell’attore nel suo ambito di prodotto originale

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

runId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • toolResultsarrayobbligatorio

    minItems: 1 · maxItems: 8

  • Ogni elementoobject
  • toolCallIdstringobbligatorio

    format: "uuid"

  • toolNamestringobbligatorio

    enum: "list_mailboxes", "search_mail", "list_unread", "list_work_items", "get_thread"

  • okbooleanobbligatorio
  • resultnon specificato
  • errorstring

Risposta di successo 200

Risposta successiva del comando; i risultati ripetuti vengono riprodotti senza un’altra chiamata di inferenza

application/json

  • valueobject
  • runIdstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "requires_tool_results", "completed", "requires_confirmation"

  • assistantMessagestringobbligatorio
  • toolCallsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • toolNamestringobbligatorio
  • argumentsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • reasonstringobbligatorio
  • proposedActionsarrayobbligatorio
  • Ogni elementonon specificato
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • toolNamestringobbligatorio
  • argumentsobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • reasonstringobbligatorio
  • allOf 2object
  • confirmationRequiredbooleanobbligatorio

    const: true

Esempio 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

Genera una revisione email verificabile senza salvarla o inviarla.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • connection_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "openai", "anthropic"

  • modelstring

    maxLength: 200

  • instructionstringobbligatorio

    minLength: 1 · maxLength: 40000

  • currentobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    maxLength: 998

  • body_textstringobbligatorio

    maxLength: 100000

  • body_htmlstringobbligatorio

    maxLength: 200000

Risposta di successo 200

Proposta strutturata di revisione dalla connessione IA selezionata di proprietà del cliente.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio
  • subject_optionsarrayobbligatorio
  • Ogni elementostring
  • body_textstringobbligatorio
  • body_htmlstringobbligatorio
  • change_summarystringobbligatorio
  • provider_response_idstring
  • modelstringobbligatorio
  • usageobject
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • categorizationobjectobbligatorio
  • availablebooleanobbligatorio

    const: false

  • enabledbooleanobbligatorio

    const: false

  • reasonstringobbligatorio

    enum: "not_configured"

  • managednon specificatoobbligatorio
  • oneOf 1object
  • availablebooleanobbligatorio

    const: false

  • oneOf 2object
  • availablebooleanobbligatorio

    const: true

  • providerstringobbligatorio

    enum: "openai", "anthropic"

  • modelstringobbligatorio

Esempio 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

Genera un design email completo coerente con il brand da un brief. Solo proposta.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • briefstringobbligatorio

    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

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • dataobjectobbligatorio
  • subjectstringobbligatorio
  • subject_optionsarrayobbligatorio
  • Ogni elementostring
  • body_textstringobbligatorio
  • body_htmlstringobbligatorio
  • change_summarystringobbligatorio
  • provider_response_idstring
  • modelstringobbligatorio
  • usageobject
  • Proprietà aggiuntivaQualsiasi valore
  • managedbooleanobbligatorio

Esempio 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"
}'

Analisi

POST/v1/workspaces/{workspaceId}/analytics/visitor

Collega una visita al sito alla persona autenticata

Richiede una sessione umana autenticata; le chiavi API sono rifiutate.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • visitor_idstringobbligatorio

    pattern: "^[A-Za-z0-9-]{8,64}$"

Risposta di successo 204

Risposta riuscita.

Nessun corpo della risposta.

Esempio 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"
}'

Agenti di risposta

GET/v1/workspaces/{workspaceId}/answer-agents

listAnswerAgents

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Agenti di risposta del workspace.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • identityIdstringobbligatorio

    format: "uuid"

  • workspaceIdstringobbligatorio

    format: "uuid"

  • originstringobbligatorio

    const: "internal"

  • namestringobbligatorio
  • systemPromptstring
  • enabledbooleanobbligatorio
  • sendPolicystringobbligatorio

    enum: "draft_only", "reviewed_send", "direct_send"

  • mailboxIdsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • createdAtstringobbligatorio

    format: "date-time"

  • updatedAtstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    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

  • Ogni elementostring

    format: "uuid"

Risposta di successo 201

Agente di risposta creato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • identityIdstringobbligatorio

    format: "uuid"

  • workspaceIdstringobbligatorio

    format: "uuid"

  • originstringobbligatorio

    const: "internal"

  • namestringobbligatorio
  • systemPromptstring
  • enabledbooleanobbligatorio
  • sendPolicystringobbligatorio

    enum: "draft_only", "reviewed_send", "direct_send"

  • mailboxIdsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • createdAtstringobbligatorio

    format: "date-time"

  • updatedAtstringobbligatorio

    format: "date-time"

Esempio 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"
  ]
}'

Risorse multimediali

GET/v1/workspaces/{workspaceId}/assets

Elenca le immagini email del prodotto e i loro URL pubblici immutabili.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Fino a 100 immagini email del prodotto più recenti.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • mime_typestringobbligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobbligatorio

    minimum: 1 · maximum: 2097152

  • sha256stringobbligatorio

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

  • created_atstringobbligatorio

    format: "date-time"

  • public_urlstringobbligatorio

    format: "uri"

Esempio 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

Archivia un’immagine immutabile per contenuti email gestiti.

Invia byte PNG, JPEG, GIF o WebP grezzi con Content-Type corrispondente e X-File-Name facoltativo, oppure JSON con base64, mime_type e filename. Entrambe le forme ammettono fino a 2 MiB di byte immagine decodificati. L’URL della risposta può essere usato direttamente nell’HTML; non viene creato un registro di destinazioni localizzate.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

image/png

  • valuestring

    format: "binary"

image/jpeg

  • valuestring

    format: "binary"

image/gif

  • valuestring

    format: "binary"

image/webp

  • valuestring

    format: "binary"

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • base64stringobbligatorio

    Byte dell’immagine

  • mime_typestringobbligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • filenamestring

    maxLength: 200

Risposta di successo 201

Immagine registrata con URL pubblico immutabile.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • mime_typestringobbligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobbligatorio

    minimum: 1 · maximum: 2097152

  • sha256stringobbligatorio

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

  • created_atstringobbligatorio

    format: "date-time"

  • public_urlstringobbligatorio

    format: "uri"

Esempio 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}

Leggi i metadati e l’URL pubblico di un’immagine email del prodotto.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

assetId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Metadati dell’immagine del prodotto.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • mime_typestringobbligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobbligatorio

    minimum: 1 · maximum: 2097152

  • sha256stringobbligatorio

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

  • created_atstringobbligatorio

    format: "date-time"

  • public_urlstringobbligatorio

    format: "uri"

Esempio 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'

Automazione

POST/v1/workspaces/{workspaceId}/automation/jobs

createExecutionJob

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    minLength: 1 · maxLength: 100

  • approval_idstring

    format: "uuid"

  • capabilitiesarrayobbligatorio

    Le chiavi API possono delegare solo funzionalità già presenti nella chiave.

    minItems: 1 · maxItems: 50

  • Ogni elementostring

    maxLength: 100

  • resourcesobjectobbligatorio
  • Proprietà aggiuntivaarray

    maxItems: 500

  • Ogni elementostring

    maxLength: 200

  • inputobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Ripetizione idempotente di un processo di esecuzione isolato esistente.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • placement_idstringobbligatorio

    format: "uuid"

  • placement_generationintegerobbligatorio

    format: "int64"

  • kindstringobbligatorio
  • requested_by_actor_idstringobbligatorio
  • approval_idstring | null

    format: "uuid"

  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • statusstringobbligatorio

    enum: "queued", "leased", "succeeded", "failed", "cancelled"

  • attempt_countintegerobbligatorio
  • resultnon specificato
  • error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

jobId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato canonico attuale dell’esecuzione.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • placement_idstringobbligatorio

    format: "uuid"

  • placement_generationintegerobbligatorio

    format: "int64"

  • kindstringobbligatorio
  • requested_by_actor_idstringobbligatorio
  • approval_idstring | null

    format: "uuid"

  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • statusstringobbligatorio

    enum: "queued", "leased", "succeeded", "failed", "cancelled"

  • attempt_countintegerobbligatorio
  • resultnon specificato
  • error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobbligatorio

Esempio curl

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

Brand

POST/v1/workspaces/{workspaceId}/brand/discover

discoverProductBrand

Leggi il sito del prodotto e salva i suggerimenti di brand rilevati senza sovrascrivere i valori espliciti del brand. Richiede l’ambito di scrittura delle campagne.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

product_id
query · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • sourcesobjectobbligatorio
  • Proprietà aggiuntivastring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobbligatorio
  • missingarrayobbligatorio
  • Ogni elementostring
  • product_kindstringobbligatorio

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

  • discovery_statusstring | null
  • product_idstringobbligatorio

    format: "uuid"

  • product_domainstring | nullobbligatorio
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Immagini logo rilevate sul sito del prodotto (header, footer, loghi dichiarati), per sostituzioni con un clic.

  • Ogni elementostring
  • mediaobjectobbligatorio
  • art_base_urlstringobbligatorio
  • hero_image_urlstring
  • email_fontsobjectobbligatorio
  • headingobjectobbligatorio
  • stackstringobbligatorio
  • fontstringobbligatorio
  • web_fontbooleanobbligatorio
  • clientsarrayobbligatorio
  • Ogni elementoobject
  • clientstringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • fontstringobbligatorio

    Ulteriore annidamento omesso

  • web_fontbooleanobbligatorio

    Ulteriore annidamento omesso

  • fallbackbooleanobbligatorio

    Ulteriore annidamento omesso

  • bodyobjectobbligatorio
  • stackstringobbligatorio
  • fontstringobbligatorio
  • web_fontbooleanobbligatorio
  • clientsarrayobbligatorio
  • Ogni elementoobject
  • clientstringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • fontstringobbligatorio

    Ulteriore annidamento omesso

  • web_fontbooleanobbligatorio

    Ulteriore annidamento omesso

  • fallbackbooleanobbligatorio

    Ulteriore annidamento omesso

Esempio 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 del brand del prodotto risolto con fonti per ogni campo.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • sourcesobjectobbligatorio
  • Proprietà aggiuntivastring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobbligatorio
  • missingarrayobbligatorio
  • Ogni elementostring
  • product_kindstringobbligatorio

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

  • discovery_statusstring | null
  • product_idstringobbligatorio

    format: "uuid"

  • product_domainstring | nullobbligatorio
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Immagini logo rilevate sul sito del prodotto (header, footer, loghi dichiarati), per sostituzioni con un clic.

  • Ogni elementostring
  • mediaobjectobbligatorio
  • art_base_urlstringobbligatorio
  • hero_image_urlstring
  • email_fontsobjectobbligatorio
  • headingobjectobbligatorio
  • stackstringobbligatorio
  • fontstringobbligatorio
  • web_fontbooleanobbligatorio
  • clientsarrayobbligatorio
  • Ogni elementoobject
  • clientstringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • fontstringobbligatorio

    Ulteriore annidamento omesso

  • web_fontbooleanobbligatorio

    Ulteriore annidamento omesso

  • fallbackbooleanobbligatorio

    Ulteriore annidamento omesso

  • bodyobjectobbligatorio
  • stackstringobbligatorio
  • fontstringobbligatorio
  • web_fontbooleanobbligatorio
  • clientsarrayobbligatorio
  • Ogni elementoobject
  • clientstringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • fontstringobbligatorio

    Ulteriore annidamento omesso

  • web_fontbooleanobbligatorio

    Ulteriore annidamento omesso

  • fallbackbooleanobbligatorio

    Ulteriore annidamento omesso

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valuenon specificato
  • anyOf 1object
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • sourcesobjectobbligatorio
  • Proprietà aggiuntivastring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobbligatorio
  • missingarrayobbligatorio
  • Ogni elementostring
  • product_kindstringobbligatorio

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

  • discovery_statusstring | null
  • product_idstringobbligatorio

    format: "uuid"

  • product_domainstring | nullobbligatorio
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Immagini logo rilevate sul sito del prodotto (header, footer, loghi dichiarati), per sostituzioni con un clic.

  • Ogni elementostring
  • mediaobjectobbligatorio
  • art_base_urlstringobbligatorio
  • hero_image_urlstring
  • email_fontsobjectobbligatorio
  • headingobjectobbligatorio
  • stackstringobbligatorio
  • fontstringobbligatorio
  • web_fontbooleanobbligatorio
  • clientsarrayobbligatorio
  • Ogni elementoobject
  • clientstringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • fontstringobbligatorio

    Ulteriore annidamento omesso

  • web_fontbooleanobbligatorio

    Ulteriore annidamento omesso

  • fallbackbooleanobbligatorio

    Ulteriore annidamento omesso

  • bodyobjectobbligatorio
  • stackstringobbligatorio
  • fontstringobbligatorio
  • web_fontbooleanobbligatorio
  • clientsarrayobbligatorio
  • Ogni elementoobject
  • clientstringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • fontstringobbligatorio

    Ulteriore annidamento omesso

  • web_fontbooleanobbligatorio

    Ulteriore annidamento omesso

  • fallbackbooleanobbligatorio

    Ulteriore annidamento omesso

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • brandobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • 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

Risposta di successo 200

Rilettura canonica o ricevuta idempotente. L’accettazione del provider è sent; delivered richiede un evento di consegna e non dimostra l’arrivo nella posta in arrivo.

application/json

  • valueobject
  • dataobjectobbligatorio
  • brandobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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

  • sourcesobjectobbligatorio
  • Proprietà aggiuntivastring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobbligatorio
  • missingarrayobbligatorio
  • Ogni elementostring
  • product_kindstring

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

  • discovery_statusstring | null
  • product_idstringobbligatorio

    format: "uuid"

  • product_domainstring | null
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • hero_image_urlstring | null
  • replayedbooleanobbligatorio

Esempio 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"
  }
}'

Modifiche

GET/v1/workspaces/{workspaceId}/changes

listChanges

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

after_revision
query · obbligatorio
  • valueinteger

    format: "int64" · minimum: 0

limit
query
  • valueinteger

    minimum: 1 · maximum: 500 · default: 200

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Invalidazioni ordinate dopo una revisione del client.

application/json

  • valueobject
  • dataobjectobbligatorio
  • current_revisionintegerobbligatorio

    format: "int64"

  • changesarrayobbligatorio
  • Ogni elementoobject
  • revisionintegerobbligatorio

    format: "int64"

  • topicsarrayobbligatorio
  • Ogni elementostring

    enum: "mailboxes", "threads", "messages", "work", "drafts", "contacts", "campaigns", "deliverability"

  • mailbox_idsarray
  • Ogni elementostring

    format: "uuid"

  • created_atstringobbligatorio

    format: "date-time"

  • has_morebooleanobbligatorio

Esempio curl

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

Comandi

POST/v1/workspaces/{workspaceId}/commands

createCommand

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • typestringobbligatorio

    enum: "mark_read", "mark_unread", "archive", "unarchive", "trash", "restore", "spam", "not_spam", "star", "unstar", "add_label", "remove_label", "move", "assign", "set_work_status"

  • targetobjectobbligatorio
  • thread_idstringobbligatorio

    format: "uuid"

  • parametersobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 202

Comando confermato e in coda per l’esecuzione del provider.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • typestringobbligatorio
  • statusstringobbligatorio

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

  • workspace_revisionintegerobbligatorio

    format: "int64"

  • created_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

commandId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato persistente del comando del provider.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • typestringobbligatorio
  • statusstringobbligatorio

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

  • workspace_revisionintegerobbligatorio

    format: "int64"

  • created_atstringobbligatorio

    format: "date-time"

Esempio curl

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

Politica di comunicazione

GET/v1/workspaces/{workspaceId}/communication-policy

Leggi la politica di conflitto tra destinatari, frequenza e finestra di consegna dell’intero prodotto.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Politica di comunicazione con versione.

application/json

  • valueobject
  • dataobjectobbligatorio
  • versionintegerobbligatorio
  • policyobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • conflictstringobbligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • countintegerobbligatorio

    minimum: 1

  • windowSecondsintegerobbligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Nessuna proprietà aggiuntiva

  • startstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobbligatorio
  • weekdaysarray

    maxItems: 7

  • Ogni elementointeger

    minimum: 0 · maximum: 6

Esempio 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

Salva la politica di comunicazione del prodotto con controllo ottimistico della versione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • expected_versionintegerobbligatorio

    minimum: 1

  • policyobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • conflictstringobbligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • countintegerobbligatorio

    minimum: 1

  • windowSecondsintegerobbligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Nessuna proprietà aggiuntiva

  • startstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobbligatorio
  • weekdaysarray

    maxItems: 7

  • Ogni elementointeger

    minimum: 0 · maximum: 6

Risposta di successo 200

Politica con versione aggiornata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • versionintegerobbligatorio
  • policyobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • conflictstringobbligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • countintegerobbligatorio

    minimum: 1

  • windowSecondsintegerobbligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Nessuna proprietà aggiuntiva

  • startstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobbligatorio
  • weekdaysarray

    maxItems: 7

  • Ogni elementointeger

    minimum: 0 · maximum: 6

Esempio 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

Simulazione di sola lettura della politica per richieste di invio fisse a un destinatario.

Non modifica prenotazioni né sposta passaggi dipendenti del Percorso.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • policyobject

    Nessuna proprietà aggiuntiva

  • conflictstringobbligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • countintegerobbligatorio

    minimum: 1

  • windowSecondsintegerobbligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Nessuna proprietà aggiuntiva

  • startstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobbligatorio
  • weekdaysarray

    maxItems: 7

  • Ogni elementointeger

    minimum: 0 · maximum: 6

  • historyarray

    maxItems: 10000

  • Ogni elementostring

    format: "date-time"

  • requestsarrayobbligatorio

    maxItems: 1000

  • Ogni elementoobject
  • idstringobbligatorio
  • atstringobbligatorio

    format: "date-time"

  • categorystringobbligatorio

    enum: "urgent", "product", "promotional"

  • source_kindstringobbligatorio

    enum: "journey", "broadcast"

  • expiresAtstring

    format: "date-time"

  • deliveryBlockedboolean

Risposta di successo 200

Cronologia delle decisioni di invio, rinvio o scarto per richiesta, con motivi.

application/json

  • valueobject
  • dataobjectobbligatorio
  • policyobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • conflictstringobbligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • countintegerobbligatorio

    minimum: 1

  • windowSecondsintegerobbligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Nessuna proprietà aggiuntiva

  • startstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobbligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobbligatorio
  • weekdaysarray

    maxItems: 7

  • Ogni elementointeger

    minimum: 0 · maximum: 6

  • policy_versioninteger | nullobbligatorio
  • timelinearrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • source_kindstringobbligatorio

    enum: "journey", "broadcast"

  • requested_atstringobbligatorio

    format: "date-time"

  • actionstringobbligatorio

    enum: "send", "defer", "discard"

  • atstringobbligatorio

    format: "date-time"

  • reasonstringobbligatorio
  • scopestringobbligatorio

    enum: "one_recipient_fixed_send_requests"

  • warningsarrayobbligatorio
  • Ogni elementostring

Esempio 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
    }
  ]
}'

Impostazioni dei contenuti

GET/v1/workspaces/{workspaceId}/content-settings

Leggi locale, lingua di fallback, fuso orario, glossario e impostazioni di revisione a livello di prodotto.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Impostazioni attuali dei contenuti.

application/json

  • valueobject
  • dataobjectobbligatorio
  • source_localestringobbligatorio
  • configured_localesarrayobbligatorio
  • Ogni elementostring
  • fallback_chainarrayobbligatorio
  • Ogni elementostring
  • timezonestringobbligatorio
  • glossaryobjectobbligatorio
  • Proprietà aggiuntivastring
  • manual_translation_reviewbooleanobbligatorio
  • versionintegerobbligatorio

Esempio 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

Salva le impostazioni dei contenuti a livello di prodotto con controllo ottimistico della versione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • source_localestringobbligatorio
  • configured_localesarrayobbligatorio
  • Ogni elementostring
  • fallback_chainarrayobbligatorio
  • Ogni elementostring
  • timezonestringobbligatorio
  • glossaryobjectobbligatorio
  • Proprietà aggiuntivastring
  • manual_translation_reviewbooleanobbligatorio
  • expected_versionintegerobbligatorio

    minimum: 0

Risposta di successo 200

Impostazioni dei contenuti salvate.

application/json

  • valueobject
  • dataobjectobbligatorio
  • source_localestringobbligatorio
  • configured_localesarrayobbligatorio
  • Ogni elementostring
  • fallback_chainarrayobbligatorio
  • Ogni elementostring
  • timezonestringobbligatorio
  • glossaryobjectobbligatorio
  • Proprietà aggiuntivastring
  • manual_translation_reviewbooleanobbligatorio
  • versionintegerobbligatorio

Esempio 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
}'

Recapitabilità

GET/v1/workspaces/{workspaceId}/deliverability

getDeliverabilitySummary

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • counting_basisstring

    enum: "recipients", "events"

  • simulator_eventsinteger
  • sincestringobbligatorio

    format: "date-time"

  • generated_atstringobbligatorio

    format: "date-time"

  • totalsobjectobbligatorio
  • 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"

  • Proprietà aggiuntivaQualsiasi valore
  • time_seriesarrayobbligatorio
  • Ogni elementonon specificato
  • 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"

  • Proprietà aggiuntivaQualsiasi valore
  • allOf 2object
  • bucketstringobbligatorio

    format: "date"

  • providersarrayobbligatorio
  • Ogni elementonon specificato
  • 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"

  • Proprietà aggiuntivaQualsiasi valore
  • allOf 2object
  • provider_connection_idstring | null

    format: "uuid"

  • providerstringobbligatorio
  • display_namestringobbligatorio
  • ownershipstringobbligatorio
  • statusstringobbligatorio
  • recipient_domainsarrayobbligatorio
  • Ogni elementonon specificato
  • 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"

  • Proprietà aggiuntivaQualsiasi valore
  • allOf 2object
  • recipient_domainstringobbligatorio
  • sending_streamsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • domainstringobbligatorio
  • stream_kindstringobbligatorio
  • display_namestringobbligatorio
  • statusstringobbligatorio
  • status_reasonstring | null
  • provider_statusstring | null
  • required_recordsintegerobbligatorio

    format: "int64"

  • verified_recordsintegerobbligatorio

    format: "int64"

  • pending_recordsintegerobbligatorio

    format: "int64"

  • error_recordsintegerobbligatorio

    format: "int64"

  • last_checked_atstring | null

    format: "date-time"

  • feedback_pipelineobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • statusstringobbligatorio

    enum: "healthy", "degraded", "unproven"

  • eligible_attemptsintegerobbligatorio

    format: "int64"

  • unmatched_attemptsintegerobbligatorio

    format: "int64"

  • last_receipt_atstring | null

    format: "date-time"

  • issuesarrayobbligatorio
  • Ogni elementoobject
  • severitystringobbligatorio

    enum: "warning", "critical"

  • codestringobbligatorio
  • titlestringobbligatorio
  • detailstringobbligatorio
  • resource_kindstringobbligatorio
  • resource_idstringobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • reasonstringobbligatorio

    enum: "complaint", "hard_bounce"

  • countintegerobbligatorio
  • domainsarrayobbligatorio
  • Ogni elementostring
  • statusstringobbligatorio
  • decidedAtstring | null

    format: "date-time"

  • titlestringobbligatorio
  • explanationstringobbligatorio
  • impactstringobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • idstringobbligatorio

    minLength: 64 · maxLength: 64

  • decisionstringobbligatorio

    enum: "approved", "rejected"

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • statusstringobbligatorio

    enum: "approved", "rejected"

  • approvalIdstringobbligatorio

    format: "uuid"

  • replayedboolean
  • countinteger

Esempio 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"
}'

Documenti

GET/v1/workspaces/{workspaceId}/documents

listDocuments

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • 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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • message_idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • content_typestringobbligatorio
  • size_bytesintegerobbligatorio
  • sent_atstringobbligatorio

    format: "date-time"

  • subjectstringobbligatorio
  • pageobjectobbligatorio
  • next_cursorstring
  • has_morebooleanobbligatorio

Esempio 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"

Anteprima email

GET/v1/workspaces/{workspaceId}/email-preview

Genera email salvate per iterare sul design senza inviare

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

kind
query · obbligatorio
  • valuestring

    enum: "template", "broadcast", "journey"

id
query · obbligatorio
  • valuestring

    format: "uuid"

locale
query

Locale BCP 47 facoltativa per l’anteprima di una Campagna gestita.

  • valuestring

    maxLength: 64

variant
query

Chiave facoltativa della variante di esperimento della Campagna gestita.

  • valuestring

    maxLength: 40

x-banger-product-id
header · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Contenuto email salvato e sequenza del Percorso

application/json

  • valueobject
  • dataobjectobbligatorio
  • resource_kindstringobbligatorio

    enum: "template", "broadcast", "journey"

  • resource_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio
  • selected_email_keystring
  • itemsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio
  • step_idstring

    Il passaggio del Percorso mostrato da questo elemento, come steps[].id nel Percorso salvato.

    format: "uuid"

  • kindstringobbligatorio
  • namestringobbligatorio
  • subjectstring
  • preview_textstring
  • body_htmlstring
  • body_textstring
  • detailstring
  • revision_idstring

    Revisione sorgente esatta della Campagna gestita generata.

    format: "uuid"

  • revision_statusstring

    Se la revisione generata è un contenuto salvato non pubblicato o un contenuto pubblicato.

    enum: "draft", "published"

  • sample_valuesbooleanobbligatorio
  • image_assetsobject
  • Proprietà aggiuntivastring

Esempio 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'

Eventi

POST/v1/workspaces/{workspaceId}/events

Invia un evento personalizzato ai Percorsi del prodotto.

Richiede automation:execute. L’evento arriva sul webhook in ingresso implicito "Banger API events" del prodotto, creato al primo evento ed elencato con gli altri webhook affinché i Percorsi possano indicarne connection_id, oppure su connection_id, un altro webhook in ingresso attivo dello stesso prodotto. Da lì viene elaborato esattamente come un evento inviato all’URL di quel webhook: i Percorsi attivi il cui trigger indica il tipo di evento e la connessione iscrivono la persona in email (o il pubblico configurato), e i Percorsi il cui obiettivo lo indica interrompono le esecuzioni della persona. Gli eventi possono avviare Percorsi già approvati che inviano email. L’ID dell’evento rende la chiamata idempotente: ripeterla con lo stesso corpo restituisce duplicate true; riutilizzarlo con un corpo diverso restituisce 409 webhook_event_id_reused.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header

Obbligatorio in un workspace con più prodotti attivi, salvo che la chiave API sia già vincolata al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header

ID dell’evento se il corpo non contiene id. Uno dei due è obbligatorio.

  • valuestring

    minLength: 1 · maxLength: 500

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • typestringobbligatorio

    Nome dell’evento che i trigger e gli obiettivi dei Percorsi confrontano, come signup.

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

  • idnon specificato

    Identificatore stabile dell’evento nel sistema chiamante. In sua assenza, l’header Idempotency-Key è l’ID.

  • oneOf 1string

    minLength: 1 · maxLength: 500

  • oneOf 2number
  • emailstring

    La persona a cui si riferisce l’evento.

    format: "email" · maxLength: 320

  • namestring

    Nome visualizzato della persona.

    maxLength: 200

  • occurred_atstring

    Quando è avvenuto l’evento. Per default, quando Banger lo riceve.

    format: "date-time"

  • attributesobject

    Valori leggibili dalle condizioni del Percorso e dai contenuti email. I valori di testo contengono al massimo 500 caratteri.

  • Proprietà aggiuntivanon specificato
  • oneOf 1string

    maxLength: 500

  • oneOf 2number
  • oneOf 3boolean
  • connection_idstring

    Connessione webhook in ingresso attiva dello stesso prodotto. Per default, il webhook Banger API events.

    format: "uuid"

Risposta di successo 202

Evento accettato o già accettato con questo ID.

application/json

  • valueobject
  • dataobjectobbligatorio
  • acceptedbooleanobbligatorio

    const: true

  • duplicatebooleanobbligatorio

    True se questo ID era già stato accettato; nulla è stato eseguito di nuovo.

  • connection_idstringobbligatorio

    La connessione su cui è arrivato l’evento.

    format: "uuid"

  • sequence_enrollments_createdintegerobbligatorio

    minimum: 0

  • sequence_enrollments_stoppedintegerobbligatorio

    Esecuzioni interrotte da un obiettivo del Percorso.

    minimum: 0

  • sequence_matches_ignoredintegerobbligatorio

    Percorsi corrispondenti che non hanno potuto usare l’evento, per esempio uno che iscrive una persona quando l’evento non indica un’email.

    minimum: 0

  • sequence_goals_predating_enrollmentintegerobbligatorio

    Obiettivi raggiunti prima dell’avvio dell’esecuzione che avrebbero interrotto.

    minimum: 0

  • sequence_enrollments_rejectedarray

    Percorsi che non hanno iscritto questa persona perché i dati dell’evento non possono compilare le loro email.

  • Ogni elementoobject
  • journey_idstringobbligatorio

    format: "uuid"

  • journey_namestringobbligatorio
  • fieldsarrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Il campo del contatto necessario all’email.

    Ulteriore annidamento omesso

  • problemstringobbligatorio

    enum: "missing", "not_https"

    Ulteriore annidamento omesso

Esempio 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"
}'

Esperimenti

GET/v1/workspaces/{workspaceId}/experiments

listExperiments

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobbligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobbligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobbligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobbligatorio

    minItems: 2 · maxItems: 4

  • Ogni elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Ogni elementointeger

    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

  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobbligatorio

    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"

Esempio 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

Avvia un test A/B su una Campagna, un passaggio del percorso o una regola di automazione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Il payload della variante deve corrispondere a dimension: subject, template_id (design), content o from_name. Le chiavi devono essere uniche e non possono essere holdback. Allocation deve avere una percentuale per variante e sommare a 100; se omessa, divide equamente.

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobbligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobbligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobbligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobbligatorio

    minItems: 2 · maxItems: 4

  • Ogni elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Proprietà aggiuntivastring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Ogni elementointeger

    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

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobbligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobbligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobbligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobbligatorio

    minItems: 2 · maxItems: 4

  • Ogni elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Proprietà aggiuntivastring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Ogni elementointeger

    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

  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobbligatorio

    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"

Esempio 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

Esperimento con risultati per variante e vincitore suggerito.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

experimentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobbligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobbligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobbligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobbligatorio

    minItems: 2 · maxItems: 4

  • Ogni elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Ogni elementointeger

    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

  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobbligatorio

    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
  • resultsarrayobbligatorio
  • Ogni elementoobject
  • 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
  • keystringobbligatorio
  • reasonstringobbligatorio
  • basisstringobbligatorio

    enum: "confident", "deadline", "guardrail"

  • confidencenumber | nullobbligatorio
  • sample_okbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

experimentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • winner_keystringobbligatorio

    minLength: 1 · maxLength: 40

  • reasonstring

    maxLength: 500

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobbligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobbligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobbligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobbligatorio

    minItems: 2 · maxItems: 4

  • Ogni elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Proprietà aggiuntivastring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Ogni elementointeger

    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

  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobbligatorio

    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"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

experimentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobbligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobbligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobbligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobbligatorio

    minItems: 2 · maxItems: 4

  • Ogni elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Proprietà aggiuntivastring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Ogni elementointeger

    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

  • idstringobbligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobbligatorio

    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"

Esempio curl

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

Feedback

GET/v1/workspaces/{workspaceId}/feedback

Verifica se è disponibile l’invio di feedback dei clienti

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Disponibilità del feedback per il workspace autenticato.

application/json

  • valueobject
  • dataobject
  • availablebooleanobbligatorio

Esempio curl

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

Segnala un bug, invia feedback o suggerisci una funzionalità

Crea un ticket interno Linear e invia un avviso al team su Slack. Riprova un invio interrotto con lo stesso submission_id.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "bug", "feedback", "feature"

  • titlestringobbligatorio

    minLength: 1 · maxLength: 160

  • descriptionstringobbligatorio

    minLength: 1 · maxLength: 10000

  • submission_idstringobbligatorio

    format: "uuid"

  • attachment_idsarray

    Caricamenti privati completati appartenenti a questo segnalante e workspace. I caricamenti non inviati scadono dopo 24 ore; i file possono appartenere a una sola segnalazione.

    maxItems: 5 · uniqueItems: true

  • Ogni elementostring

    format: "uuid"

Risposta di successo 201

Ticket Linear e avviso Slack completati, inclusa una ripetizione idempotente.

application/json

  • valueobject
  • dataobject
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "submitted"

  • linearIssueIdentifierstring | null
  • linearIssueUrlstring | null

    format: "uri"

Esempio 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

Carica uno screenshot o video nell’archivio privato Linear

I caricamenti binari supportano fino a 25 MiB. I caricamenti JSON base64 supportano fino a 2 MiB. Riutilizza attachment_id quando riprovi lo stesso file. Richiede automation:execute per le chiavi API.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

attachment_id
query

Obbligatorio per caricamenti binari; UUID per file.

  • valuestring

    format: "uuid"

x-banger-filename
header

Nome file codificato URI, obbligatorio per caricamenti binari.

  • valuestring

Corpo della richiesta obbligatorio

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_idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio

    minLength: 1 · maxLength: 200

  • mime_typestringobbligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp", "video/mp4", "video/webm", "video/quicktime"

  • base64stringobbligatorio

    minLength: 4 · maxLength: 2796204

Risposta di successo 200

Allegato esistente completato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • attachment_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "ready"

Esempio 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

Prepara un caricamento multimediale diretto da agente o server

Restituisce un URL PUT firmato temporaneo e gli header richiesti per il caricamento. Invia i byte del file con questi header, senza credenziali Banger, poi completa il caricamento. Non caricare direttamente dai browser; usa il proxy binario autenticato. Fino a 30 caricamenti e 250 MiB per segnalante al giorno.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • attachment_idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio

    minLength: 1 · maxLength: 200

  • mime_typestringobbligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp", "video/mp4", "video/webm", "video/quicktime"

  • size_bytesintegerobbligatorio

    minimum: 1 · maximum: 26214400

Risposta di successo 201

data contiene attachment_id, status e upload con url firmato, method PUT e headers durante il caricamento. Se ready, non occorre caricare.

application/json

  • valueobject
  • dataobjectobbligatorio
  • attachment_idstringobbligatorio

    format: "uuid"

  • filenamestringobbligatorio
  • mime_typestringobbligatorio
  • size_bytesintegerobbligatorio
  • statusstringobbligatorio

    enum: "ready", "uploading"

  • uploadobject
  • urlstringobbligatorio
  • methodstringobbligatorio

    enum: "PUT"

  • headersobjectobbligatorio
  • Proprietà aggiuntivastring

Esempio 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

Verifica un caricamento multimediale diretto prima di allegarlo al feedback

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

attachmentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

data contiene attachment_id e status ready. Il completamento è idempotente.

application/json

  • valueobject
  • dataobjectobbligatorio
  • attachment_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "ready"

Esempio curl

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

Home

GET/v1/workspaces/{workspaceId}/home

Carica la Home di configurazione o operativa per il prodotto selezionato.

Appartenenza, validità del prodotto, proiezione della configurazione, riepiloghi operativi e attività recente vengono letti con un’unica istruzione database isolata per tenant.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Schermata Home del prodotto selezionato.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • setupobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • stagestringobbligatorio

    enum: "domain", "mailboxes", "journeys", "broadcast", "complete"

  • domainobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • statusstringobbligatorio

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

  • detailstringobbligatorio
  • mailboxesobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • statusstringobbligatorio

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

  • detailstringobbligatorio
  • journeysobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • statusstringobbligatorio

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

  • detailstringobbligatorio
  • broadcastobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • statusstringobbligatorio

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

  • detailstringobbligatorio
  • needsYouobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • undecidedApprovalsintegerobbligatorio

    minimum: 0

  • oldestApprovalsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • summarystringobbligatorio
  • actionKindstringobbligatorio
  • createdAtstringobbligatorio

    format: "date-time"

  • failedSteps24harrayobbligatorio
  • Ogni elementoobject
  • journeyIdstringobbligatorio

    format: "uuid"

  • journeyNamestringobbligatorio
  • countintegerobbligatorio

    minimum: 0

  • deliverabilityAlertsarrayobbligatorio
  • Ogni elementoobject
  • kindstringobbligatorio

    enum: "bounce_rate", "complaint_rate", "dns_drift", "lane_paused"

  • detailstringobbligatorio
  • destinationstringobbligatorio

    enum: "deliverability", "domains"

  • unreadInboundarrayobbligatorio
  • Ogni elementoobject
  • mailboxIdstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • countintegerobbligatorio

    minimum: 0

  • splitsReadyToDecidearrayobbligatorio
  • Ogni elementoobject
  • journeyIdstringobbligatorio

    format: "uuid"

  • journeyNamestringobbligatorio
  • unclaimedJourneysintegerobbligatorio

    minimum: 0

  • journeysobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • activeintegerobbligatorio

    minimum: 0

  • entered30dintegerobbligatorio

    minimum: 0

  • sent30dintegerobbligatorio

    minimum: 0

  • toparrayobbligatorio
  • Ogni elementonon specificato
  • allOf 1object

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • mailbox_idstring

    Mittente esistente. Se omesso, preferisce il mittente iniziale, poi una casella personalizzata attiva, poi una ospitata. I mittenti salvati ed espliciti restano invariati.

    format: "uuid"

    Ulteriore annidamento omesso

  • from_local_partstring

    maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"

    Ulteriore annidamento omesso

  • triggerobjectobbligatorio

    Ulteriore annidamento omesso

  • audienceobject

    Ulteriore annidamento omesso

  • goalobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • exitobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • approval_modestring

    enum: "policy", "required"

    Ulteriore annidamento omesso

  • apiobject

    Ulteriore annidamento omesso

  • managed_contentobject

    Scorciatoia solo per la creazione: salva atomicamente una bozza email con sorgente gestita e un Percorso il cui passaggio email la referenzia. Le lingue di destinazione mancanti vengono messe in coda per la traduzione gratuita; questo non pubblica né attiva il Percorso.

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • stepsarrayobbligatorio

    maxItems: 100

    Ulteriore annidamento omesso

  • allOf 2object
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "draft", "discovered", "active", "paused", "archived"

    Ulteriore annidamento omesso

  • api_keystring | null

    Ulteriore annidamento omesso

  • content_modestring | null

    enum: "code", "managed", null

    Ulteriore annidamento omesso

  • identitystring | null

    Ulteriore annidamento omesso

  • identity_aliasesarray

    Ulteriore annidamento omesso

  • samplesarray

    Ulteriore annidamento omesso

  • versionintegerobbligatorio

    minimum: 1

    Ulteriore annidamento omesso

  • statsobjectobbligatorio

    Ulteriore annidamento omesso

  • stepStatsarray

    Ulteriore annidamento omesso

  • armStatsarray

    Ulteriore annidamento omesso

  • healthobjectobbligatorio

    Ulteriore annidamento omesso

  • indicatorobjectobbligatorio

    Ulteriore annidamento omesso

  • sparklinearrayobbligatorio

    Ulteriore annidamento omesso

  • activated_atstring | null

    format: "date-time"

    Ulteriore annidamento omesso

  • updated_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • last_activity_atstring | null

    format: "date-time"

    Ulteriore annidamento omesso

  • broadcastobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • nextobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • scheduledAtstringobbligatorio

    format: "date-time"

  • recipientsintegerobbligatorio

    minimum: 0

  • lastobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • sentAtstringobbligatorio

    format: "date-time"

  • deliveredintegerobbligatorio

    minimum: 0

  • humanOpenedintegerobbligatorio

    minimum: 0

  • repliedintegerobbligatorio

    minimum: 0

  • recentLogsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • directionstringobbligatorio

    enum: "out", "in"

  • atstringobbligatorio

    format: "date-time"

  • mailbox_idstring | nullobbligatorio

    Null per gli invii che non passano da una casella, come API e SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

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

  • fromstringobbligatorio
  • toarrayobbligatorio
  • Ogni elementostring
  • recipient_countintegerobbligatorio

    minimum: 0

  • subjectstringobbligatorio
  • originobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobbligatorio

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Motivo del rifiuto di un tentativo SMTP da parte di Banger e risposta ricevuta dal client.

  • refstringobbligatorio

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobbligatorio

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobbligatorio

    Risposta SMTP completa, ad es. `550 5.7.1 ...`.

  • reply_codeintegerobbligatorio

    minimum: 400 · maximum: 599

  • enhanced_codestringobbligatorio
  • reasonstringobbligatorio
  • messagestringobbligatorio
  • key_prefixstringobbligatorio

    Prefisso pubblico `bgr_` della chiave API usata dal client.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobbligatorio

    Gli accessi falliti con una chiave vengono raggruppati in una riga ogni dieci minuti.

    minimum: 1

  • last_atstringobbligatorio

    format: "date-time"

  • detailobject
  • Proprietà aggiuntivaQualsiasi valore
  • volumeobjectobbligatorio
  • sentPeriodintegerobbligatorio

    minimum: 0

  • limitintegerobbligatorio

    minimum: 0

  • deliveredRatenumber

    minimum: 0 · maximum: 1

  • mailboxesintegerobbligatorio

    minimum: 0

  • verifiedDomainsintegerobbligatorio

    minimum: 0

  • Proprietà aggiuntivaQualsiasi valore
  • agentobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • connectedbooleanobbligatorio
  • clientNamestring

Esempio curl

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

Suggerimenti di etichette

GET/v1/workspaces/{workspaceId}/label-suggestions

listLabelSuggestions

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailbox_id
query · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • namestringobbligatorio
  • emojistringobbligatorio
  • colorstringobbligatorio
  • descriptionstringobbligatorio
  • already_addedbooleanobbligatorio

Esempio 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"

Etichette

GET/v1/workspaces/{workspaceId}/labels

listLabels

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • colorstring | nullobbligatorio
  • kindstringobbligatorio
  • emojistring | nullobbligatorio
  • descriptionstring | nullobbligatorio
  • suggestion_idstring | nullobbligatorio
  • sourcestringobbligatorio

    enum: "banger", "provider"

  • updated_atstringobbligatorio

    format: "date-time"

  • auto_setnon specificatoobbligatorio
  • anyOf 1object
  • rule_idstringobbligatorio

    format: "uuid"

  • enabledbooleanobbligatorio
  • descriptionstring | nullobbligatorio
  • exact_conditionsobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

    Ulteriore annidamento omesso

  • toarray

    maxItems: 50

    Ulteriore annidamento omesso

  • subject_containsarray

    maxItems: 50

    Ulteriore annidamento omesso

  • has_wordsarray

    maxItems: 50

    Ulteriore annidamento omesso

  • excludes_wordsarray

    maxItems: 50

    Ulteriore annidamento omesso

  • has_attachmentboolean

    Ulteriore annidamento omesso

  • anyOf 2null
  • applied_by_rule_countintegerobbligatorio

Esempio 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

Crea un’etichetta Banger in una casella. Passa suggestion_id per creare un’etichetta suggerita; un nome esistente restituisce l’etichetta esistente (200). Le etichette Banger non si sincronizzano mai con Gmail.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Chiave facoltativa di ripetizione, applicata quando è selezionato un prodotto.

  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestring

    maxLength: 120

  • colorstring

    maxLength: 32

  • emojistring

    Un’emoji mostrata prima del nome.

    maxLength: 16

  • descriptionstring

    maxLength: 2000

  • suggestion_idstring

    maxLength: 64

  • auto_setobject
  • enabledbooleanobbligatorio
  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • colorstring | nullobbligatorio
  • kindstringobbligatorio
  • emojistring | nullobbligatorio
  • descriptionstring | nullobbligatorio
  • suggestion_idstring | nullobbligatorio
  • sourcestringobbligatorio

    enum: "banger", "provider"

  • updated_atstringobbligatorio

    format: "date-time"

  • auto_setnon specificatoobbligatorio
  • anyOf 1object
  • rule_idstringobbligatorio

    format: "uuid"

  • enabledbooleanobbligatorio
  • descriptionstring | nullobbligatorio
  • exact_conditionsobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • has_attachmentboolean
  • anyOf 2null
  • applied_by_rule_countintegerobbligatorio

Esempio 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

Rinomina un’etichetta Banger, cambia colore, emoji o descrizione, oppure attiva o disattiva la regola automatica. Le etichette Gmail e di sistema sono di sola lettura.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

labelId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Chiave facoltativa di ripetizione, applicata quando è selezionato un prodotto.

  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestring

    maxLength: 120

  • colorstring | null

    maxLength: 32

  • emojistring | null

    maxLength: 16

  • descriptionstring | null

    maxLength: 2000

  • auto_setobject
  • enabledbooleanobbligatorio
  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • colorstring | nullobbligatorio
  • kindstringobbligatorio
  • emojistring | nullobbligatorio
  • descriptionstring | nullobbligatorio
  • suggestion_idstring | nullobbligatorio
  • sourcestringobbligatorio

    enum: "banger", "provider"

  • updated_atstringobbligatorio

    format: "date-time"

  • auto_setnon specificatoobbligatorio
  • anyOf 1object
  • rule_idstringobbligatorio

    format: "uuid"

  • enabledbooleanobbligatorio
  • descriptionstring | nullobbligatorio
  • exact_conditionsobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

    Ulteriore annidamento omesso

  • has_attachmentboolean
  • anyOf 2null
  • applied_by_rule_countintegerobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

labelId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Etichetta eliminata.

Nessun corpo della risposta.

Esempio curl

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

Log

GET/v1/workspaces/{workspaceId}/logs

listLogs

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • 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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Pagina con cursore dalla cronologia unificata degli invii e delle ricezioni, con i tentativi SMTP rifiutati da Banger come righe `rejected`. `query` trova anche un rifiuto dal riferimento `smtp_` o dal prefisso della chiave `bgr_` usata.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • directionstringobbligatorio

    enum: "out", "in"

  • atstringobbligatorio

    format: "date-time"

  • mailbox_idstring | nullobbligatorio

    Null per gli invii che non passano da una casella, come API e SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

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

  • fromstringobbligatorio
  • toarrayobbligatorio
  • Ogni elementostring
  • recipient_countintegerobbligatorio

    minimum: 0

  • subjectstringobbligatorio
  • originobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobbligatorio

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Motivo del rifiuto di un tentativo SMTP da parte di Banger e risposta ricevuta dal client.

  • refstringobbligatorio

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobbligatorio

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobbligatorio

    Risposta SMTP completa, ad es. `550 5.7.1 ...`.

  • reply_codeintegerobbligatorio

    minimum: 400 · maximum: 599

  • enhanced_codestringobbligatorio
  • reasonstringobbligatorio
  • messagestringobbligatorio
  • key_prefixstringobbligatorio

    Prefisso pubblico `bgr_` della chiave API usata dal client.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobbligatorio

    Gli accessi falliti con una chiave vengono raggruppati in una riga ogni dieci minuti.

    minimum: 1

  • last_atstringobbligatorio

    format: "date-time"

  • detailobject
  • Proprietà aggiuntivaQualsiasi valore
  • pageobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • has_morebooleanobbligatorio
  • next_cursorstring

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

entryId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • directionstringobbligatorio

    enum: "out", "in"

  • atstringobbligatorio

    format: "date-time"

  • mailbox_idstring | nullobbligatorio

    Null per gli invii che non passano da una casella, come API e SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

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

  • fromstringobbligatorio
  • toarrayobbligatorio
  • Ogni elementostring
  • recipient_countintegerobbligatorio

    minimum: 0

  • subjectstringobbligatorio
  • originobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobbligatorio

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Motivo del rifiuto di un tentativo SMTP da parte di Banger e risposta ricevuta dal client.

  • refstringobbligatorio

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobbligatorio

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobbligatorio

    Risposta SMTP completa, ad es. `550 5.7.1 ...`.

  • reply_codeintegerobbligatorio

    minimum: 400 · maximum: 599

  • enhanced_codestringobbligatorio
  • reasonstringobbligatorio
  • messagestringobbligatorio
  • key_prefixstringobbligatorio

    Prefisso pubblico `bgr_` della chiave API usata dal client.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobbligatorio

    Gli accessi falliti con una chiave vengono raggruppati in una riga ogni dieci minuti.

    minimum: 1

  • last_atstringobbligatorio

    format: "date-time"

  • detailobject
  • Proprietà aggiuntivaQualsiasi valore
  • allOf 2object
  • detailnon specificatoobbligatorio
  • oneOf 1object
  • kindstringobbligatorio

    enum: "inbound"

  • threadnon specificatoobbligatorio
  • allOf 1object

    Ulteriore annidamento omesso

  • allOf 2object

    Ulteriore annidamento omesso

  • oneOf 2object
  • kindstringobbligatorio

    enum: "broadcast", "outbound"

  • sendobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • command_idstring | nullobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    Ulteriore annidamento omesso

  • command_statusstring | nullobbligatorio

    Ulteriore annidamento omesso

  • subjectstring

    Ulteriore annidamento omesso

  • recipientsarray

    Ulteriore annidamento omesso

  • recipient_countintegerobbligatorio

    Ulteriore annidamento omesso

  • error_codestring | null

    Ulteriore annidamento omesso

  • send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstring | null

    Ulteriore annidamento omesso

  • route_kindstring | null

    Ulteriore annidamento omesso

  • sourcestring

    Ulteriore annidamento omesso

  • from_addressstring

    Ulteriore annidamento omesso

  • recipient_statesobject

    Ulteriore annidamento omesso

  • provider_message_idstring | null

    Ulteriore annidamento omesso

  • languagenon specificato

    La lingua in cui è stata inviata questa email; null se non è stata tradotta.

    Ulteriore annidamento omesso

  • journeyobject | null

    Passaggio del Percorso e iscrizione che hanno inviato questa email; null per altri invii.

    Ulteriore annidamento omesso

  • experimentobject | null

    La variante dell’esperimento di questa email; null se non applicabile.

    Ulteriore annidamento omesso

  • created_atstringobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • updated_atstringobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • completed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • template_idstring | null

    format: "uuid"

    Ulteriore annidamento omesso

  • template_versioninteger | null

    Ulteriore annidamento omesso

  • workspace_revisioninteger | null

    Ulteriore annidamento omesso

  • command_resultobject

    Ulteriore annidamento omesso

  • command_started_atstring | null

    format: "date-time"

    Ulteriore annidamento omesso

  • command_completed_atstring | null

    format: "date-time"

    Ulteriore annidamento omesso

  • body_textstring

    Ulteriore annidamento omesso

  • body_htmlstring

    Ulteriore annidamento omesso

  • reply_toarray

    Ulteriore annidamento omesso

  • headersobject

    Ulteriore annidamento omesso

  • tagsarray

    Ulteriore annidamento omesso

  • timelinearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

Esempio curl

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

Pagina della posta

GET/v1/workspaces/{workspaceId}/mail-page

getMailPage

Restituisce i dati email completi del primo caricamento in una richiesta: caselle visibili, casella selezionata, etichette, conteggi delle caselle, revisione del workspace e prima pagina di conversazioni della casella selezionata.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

mailbox_id
query

Casella preferita. In alternativa usa la prima casella visibile.

  • valuestring

    format: "uuid"

label_id
query

Restituisci solo le conversazioni della casella selezionata con questa etichetta.

  • valuestring

    format: "uuid"

view
query
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Dati email del primo caricamento per il workspace.

application/json

  • valueobject
  • dataobjectobbligatorio
  • mailboxesarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • product_idstring | null

    Il prodotto (progetto) a cui appartiene la casella. I client lo usano per raggruppare le caselle e creare link all’app web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobbligatorio

    format: "email"

  • display_namestringobbligatorio
  • providerstringobbligatorio

    enum: "gmail", "smtp"

  • statusstringobbligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobbligatorio

    enum: "domain", "starter"

  • domainsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • selected_mailbox_idstring

    format: "uuid"

  • labelsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • colorstring | null
  • kindstringobbligatorio
  • updated_atstringobbligatorio

    format: "date-time"

  • threadsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • subjectstringobbligatorio
  • snippetstringobbligatorio
  • last_message_atstringobbligatorio

    format: "date-time"

  • message_countintegerobbligatorio
  • unread_countintegerobbligatorio
  • is_archivedbooleanobbligatorio
  • is_trashbooleanobbligatorio
  • is_spambooleanobbligatorio
  • is_starredbooleanobbligatorio
  • is_sentbooleanobbligatorio
  • has_attachmentsbooleanobbligatorio
  • labelsarrayobbligatorio
  • Ogni elementostring
  • participantsarray
  • Ogni elementoobject
  • namestring

    Ulteriore annidamento omesso

  • emailstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • pageobjectobbligatorio
  • next_cursorstring
  • has_morebooleanobbligatorio
  • mailbox_thread_countsobjectobbligatorio
  • Proprietà aggiuntivainteger
  • revisionintegerobbligatorio

    format: "int64"

Esempio 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"

Migrazione da Mailchimp

GET/v1/workspaces/{workspaceId}/mailchimp-migration

Leggi avanzamento e report del trasferimento da 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.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

connection_id
query
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Report attuale del trasferimento.

application/json

  • valueobject
  • dataobjectobbligatorio

    Trasferimento da una connessione Mailchimp a un prodotto. Interroga GET /mailchimp-migration per l’avanzamento in tempo reale: `phase` indica la fase; `counts`, `audiences`, `segments`, `templates` e `campaigns` crescono durante il processo.

  • migration_idstringobbligatorio

    format: "uuid"

  • connection_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "importing", "completed"

  • phasestringobbligatorio

    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_atstringobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • connectionobjectobbligatorio
  • display_namestringobbligatorio
  • account_namestring | nullobbligatorio
  • statusstringobbligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobbligatorio
  • needs_new_keybooleanobbligatorio
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobbligatorio
  • import_streamsintegerobbligatorio
  • import_streams_doneintegerobbligatorio
  • failing_streamsarrayobbligatorio
  • Ogni elementoobject
  • streamstringobbligatorio
  • refstringobbligatorio
  • error_codestring | nullobbligatorio
  • designs_waitingintegerobbligatorio
  • notestringobbligatorio
  • countsobjectobbligatorio
  • contactsintegerobbligatorio
  • subscribedintegerobbligatorio
  • unsubscribedintegerobbligatorio
  • bouncedintegerobbligatorio
  • contact_listsintegerobbligatorio
  • contact_fieldsintegerobbligatorio
  • segments_convertedintegerobbligatorio
  • segments_kept_as_listsintegerobbligatorio
  • templates_importedintegerobbligatorio
  • templates_to_rebuildintegerobbligatorio
  • campaigns_imported_as_designsintegerobbligatorio
  • automations_importedintegerobbligatorio
  • audiencesarrayobbligatorio
  • Ogni elementoobject
  • mailchimp_idstringobbligatorio
  • namestringobbligatorio
  • list_idstring | nullobbligatorio

    format: "uuid"

  • list_namestring | nullobbligatorio
  • members_in_bangerintegerobbligatorio
  • subscribedintegerobbligatorio
  • unsubscribedintegerobbligatorio
  • bouncedintegerobbligatorio
  • members_in_mailchimpintegerobbligatorio
  • contact_fieldsarrayobbligatorio
  • Ogni elementoobject
  • mailchimp_tagstringobbligatorio
  • namestringobbligatorio
  • field_keystringobbligatorio
  • typestringobbligatorio

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

  • consentstringobbligatorio
  • segmentsarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring
  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring
  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject
  • keystringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • templatesarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring
  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring
  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject
  • keystringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • campaignsarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring
  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring
  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject
  • keystringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • automationsobjectobbligatorio
  • importedbooleanobbligatorio

    const: false

  • whystringobbligatorio
  • next_stepsarrayobbligatorio
  • Ogni elementostring
  • help_call_urlstringobbligatorio

    format: "uri"

Esempio 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

Avvia o ripeti il trasferimento da Mailchimp a questo prodotto.

Il collegamento a Mailchimp lo avvia già; ripeterlo risincronizza e aggiunge solo ciò che è nuovo. Richiede contacts:write e campaigns:write; una persona autenticata deve essere proprietario o amministratore. Non serve un’autorizzazione di connessione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • connection_idstring

    format: "uuid"

  • recent_campaignsinteger

    minimum: 0 · maximum: 50 · default: 10

Risposta di successo 202

Il trasferimento è in esecuzione in background.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object

    Trasferimento da una connessione Mailchimp a un prodotto. Interroga GET /mailchimp-migration per l’avanzamento in tempo reale: `phase` indica la fase; `counts`, `audiences`, `segments`, `templates` e `campaigns` crescono durante il processo.

  • migration_idstringobbligatorio

    format: "uuid"

  • connection_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "importing", "completed"

  • phasestringobbligatorio

    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_atstringobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • connectionobjectobbligatorio
  • display_namestringobbligatorio
  • account_namestring | nullobbligatorio
  • statusstringobbligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobbligatorio
  • needs_new_keybooleanobbligatorio
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobbligatorio
  • import_streamsintegerobbligatorio
  • import_streams_doneintegerobbligatorio
  • failing_streamsarrayobbligatorio
  • Ogni elementoobject
  • streamstringobbligatorio

    Ulteriore annidamento omesso

  • refstringobbligatorio

    Ulteriore annidamento omesso

  • error_codestring | nullobbligatorio

    Ulteriore annidamento omesso

  • designs_waitingintegerobbligatorio
  • notestringobbligatorio
  • countsobjectobbligatorio
  • contactsintegerobbligatorio
  • subscribedintegerobbligatorio
  • unsubscribedintegerobbligatorio
  • bouncedintegerobbligatorio
  • contact_listsintegerobbligatorio
  • contact_fieldsintegerobbligatorio
  • segments_convertedintegerobbligatorio
  • segments_kept_as_listsintegerobbligatorio
  • templates_importedintegerobbligatorio
  • templates_to_rebuildintegerobbligatorio
  • campaigns_imported_as_designsintegerobbligatorio
  • automations_importedintegerobbligatorio
  • audiencesarrayobbligatorio
  • Ogni elementoobject
  • mailchimp_idstringobbligatorio
  • namestringobbligatorio
  • list_idstring | nullobbligatorio

    format: "uuid"

  • list_namestring | nullobbligatorio
  • members_in_bangerintegerobbligatorio
  • subscribedintegerobbligatorio
  • unsubscribedintegerobbligatorio
  • bouncedintegerobbligatorio
  • members_in_mailchimpintegerobbligatorio
  • contact_fieldsarrayobbligatorio
  • Ogni elementoobject
  • mailchimp_tagstringobbligatorio
  • namestringobbligatorio
  • field_keystringobbligatorio
  • typestringobbligatorio

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

  • consentstringobbligatorio
  • segmentsarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring

    Ulteriore annidamento omesso

  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring

    Ulteriore annidamento omesso

  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • templatesarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring

    Ulteriore annidamento omesso

  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring

    Ulteriore annidamento omesso

  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • campaignsarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring

    Ulteriore annidamento omesso

  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring

    Ulteriore annidamento omesso

  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • automationsobjectobbligatorio
  • importedbooleanobbligatorio

    const: false

  • whystringobbligatorio
  • next_stepsarrayobbligatorio
  • Ogni elementostring
  • help_call_urlstringobbligatorio

    format: "uri"

  • allOf 2object
  • messagestring

Esempio 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
}'

Contenuti gestiti

GET/v1/workspaces/{workspaceId}/managed-content

Elenca i contenuti email gestiti del prodotto in ordine stabile dall’ID più recente.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

cursor
query
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Inventario dei contenuti del prodotto e cursore successivo facoltativo.

application/json

  • valueobject
  • dataobjectobbligatorio
  • itemsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio

    minimum: 1

  • review_requiredbooleanobbligatorio
  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • translationsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • translation_jobsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • next_cursorstring | nullobbligatorio

    format: "uuid"

Esempio 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

Salva una bozza email nella locale sorgente e metti in coda le traduzioni di destinazione mancanti.

Non invia né pubblica. La preparazione delle traduzioni non ha costi per lingua.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • contractobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

  • oneOf 1object

    Nessuna proprietà aggiuntiva

  • typestringobbligatorio

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultnon specificato

    Deve corrispondere al tipo del campo.

    Ulteriore annidamento omesso

  • oneOf 2object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "object"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultobject

    Ulteriore annidamento omesso

  • propertiesobjectobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "list"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultarray

    Ulteriore annidamento omesso

  • itemsnon specificatoobbligatorio

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

Risposta di successo 201

Sorgente in bozza e processi di traduzione in coda.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio

    minimum: 1

  • review_requiredbooleanobbligatorio
  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • translationsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • translation_jobsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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}

Leggi revisione della bozza, traduzioni e stato di preparazione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato attuale del contenuto.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio

    minimum: 1

  • review_requiredbooleanobbligatorio
  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • translationsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • translation_jobsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • allOf 2object
  • source_revisionobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • content_idstringobbligatorio

    format: "uuid"

  • revisionintegerobbligatorio
  • source_localestringobbligatorio
  • configured_localesarrayobbligatorio
  • Ogni elementostring
  • fallback_localestring | nullobbligatorio
  • localization_policyobjectobbligatorio

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • source_messagesobjectobbligatorio
  • Proprietà aggiuntivastring
  • layout_idstring | nullobbligatorio

    format: "uuid"

  • layout_revision_idstring | nullobbligatorio

    format: "uuid"

  • samplesobjectobbligatorio
  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • restored_from_revision_idstring | nullobbligatorio

    format: "uuid"

  • translationsarrayobbligatorio
  • Ogni elementonon specificato
  • allOf 1object
  • source_revision_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • localestringobbligatorio

    Ulteriore annidamento omesso

  • stringsobjectobbligatorio

    Ulteriore annidamento omesso

  • provenancestringobbligatorio

    enum: "supplied", "generated", "reviewed"

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "ready", "needs_review"

    Ulteriore annidamento omesso

  • allOf 2object
  • strings_sha256stringobbligatorio

    Ulteriore annidamento omesso

  • translation_jobsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • source_revision_idstringobbligatorio

    format: "uuid"

  • localestringobbligatorio
  • statusstringobbligatorio
  • attempt_countintegerobbligatorio
  • error_codestring | nullobbligatorio

Esempio 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}

Salva una nuova revisione della bozza sorgente senza modificare la pubblicazione in produzione.

Una modifica incompatibile delle variabili non può essere pubblicata su questo ID contenuto. Crea e pubblica un nuovo contenuto gestito, cambia ogni riferimento del Percorso o della Campagna in bozza al nuovo ID, poi revisiona/attiva il Percorso o programma la Campagna. Gli invii già accettati e i destinatari di Campagne programmate conservano le revisioni fissate.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • expected_versionintegerobbligatorio

    minimum: 1

  • contractobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • source_localestring

    Locale sorgente canonica BCP 47; eredita le impostazioni del prodotto se omessa.

  • configured_localesarray

    Locale sorgente e di destinazione; la sorgente omessa viene aggiunta dal server.

    maxItems: 100 · uniqueItems: true

  • Ogni elementostring
  • fallback_localestring
  • layout_idstring

    Layout riutilizzabile selezionato; il server salva un’istantanea della sua revisione pubblicata in questa revisione del contenuto.

    format: "uuid"

  • localization_policyobject

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

  • oneOf 1object

    Nessuna proprietà aggiuntiva

  • typestringobbligatorio

    enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultnon specificato

    Deve corrispondere al tipo del campo.

    Ulteriore annidamento omesso

  • oneOf 2object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "object"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultobject

    Ulteriore annidamento omesso

  • propertiesobjectobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3object

    Nessuna proprietà aggiuntiva

  • typenon specificatoobbligatorio

    const: "list"

    Ulteriore annidamento omesso

  • requiredboolean

    Ulteriore annidamento omesso

  • descriptionstring

    maxLength: 2000

    Ulteriore annidamento omesso

  • defaultarray

    Ulteriore annidamento omesso

  • itemsnon specificatoobbligatorio

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • samplesobject

    Set di valori di esempio con nome per anteprima e validazione della sorgente.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • translationsobject

    Catalogo di messaggi ICU sorgente e cataloghi di destinazione forniti facoltativamente. Le destinazioni configurate mancanti vengono messe in coda per la traduzione asincrona; non sono necessarie per salvare.

  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

Risposta di successo 200

Nuova revisione della bozza e processi di traduzione in coda.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio

    minimum: 1

  • review_requiredbooleanobbligatorio
  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • translationsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • translation_jobsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Visualizza una revisione sorgente salvata e una locale pronta senza inviare.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Usa sample_set oppure variables, mai entrambi. Per default usa il primo esempio con nome.

    Nessuna proprietà aggiuntiva

  • source_revision_idstring

    format: "uuid"

  • variantstring

    Chiave della versione A/B sorgente.

  • localestring
  • timezonestring

    Fuso orario IANA; UTC per default.

  • sample_setstring
  • variablesobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Oggetto, preheader, HTML, testo semplice derivato, locale e direzione deterministici.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • subjectstringobbligatorio
  • preheaderstring
  • htmlstringobbligatorio
  • textstringobbligatorio
  • localestringobbligatorio
  • directionstringobbligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Ogni elementostring
  • Proprietà aggiuntivaQualsiasi valore
  • allOf 2object
  • source_revision_idstringobbligatorio

    format: "uuid"

  • layout_revision_idstring | nullobbligatorio

    format: "uuid"

Esempio 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

Riprova una traduzione automatica fallita della bozza sorgente attuale.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

locale
path · obbligatorio
  • valuestring

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Nuovo tentativo di traduzione in coda.

application/json

  • valueobject
  • databooleanobbligatorio

Esempio 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

Leggi cataloghi di traduzione e processi di preparazione della revisione in bozza.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato attuale del contenuto, incluse traduzioni e processi.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio

    minimum: 1

  • review_requiredbooleanobbligatorio
  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • translationsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • translation_jobsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • allOf 2object
  • source_revisionobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • content_idstringobbligatorio

    format: "uuid"

  • revisionintegerobbligatorio
  • source_localestringobbligatorio
  • configured_localesarrayobbligatorio
  • Ogni elementostring
  • fallback_localestring | nullobbligatorio
  • localization_policyobjectobbligatorio

    Un’email del Percorso parte solo nella lingua della persona: attende la traduzione, circa un minuto per ricevute, codici e avvisi di sicurezza e fino a un giorno per le altre email; non viene inviata se la traduzione non è pronta entro quel termine.

    Nessuna proprietà aggiuntiva

  • manual_reviewboolean

    default: false

  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • source_messagesobjectobbligatorio
  • Proprietà aggiuntivastring
  • layout_idstring | nullobbligatorio

    format: "uuid"

  • layout_revision_idstring | nullobbligatorio

    format: "uuid"

  • samplesobjectobbligatorio
  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • restored_from_revision_idstring | nullobbligatorio

    format: "uuid"

  • translationsarrayobbligatorio
  • Ogni elementonon specificato
  • allOf 1object
  • source_revision_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • localestringobbligatorio

    Ulteriore annidamento omesso

  • stringsobjectobbligatorio

    Ulteriore annidamento omesso

  • provenancestringobbligatorio

    enum: "supplied", "generated", "reviewed"

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "ready", "needs_review"

    Ulteriore annidamento omesso

  • allOf 2object
  • strings_sha256stringobbligatorio

    Ulteriore annidamento omesso

  • translation_jobsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • source_revision_idstringobbligatorio

    format: "uuid"

  • localestringobbligatorio
  • statusstringobbligatorio
  • attempt_countintegerobbligatorio
  • error_codestring | nullobbligatorio

Esempio 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

Revisiona il catalogo di traduzione esatto in attesa per una revisione sorgente.

Richiede SHA-256 del catalogo dalla rilettura attuale. Le stringhe corrette sono facoltative; questa operazione non pubblica la sorgente.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

locale
path · obbligatorio
  • valuestring

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • source_revision_idstringobbligatorio

    format: "uuid"

  • expected_translation_sha256stringobbligatorio

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

  • stringsobject
  • Proprietà aggiuntivastring

Risposta di successo 200

Catalogo revisionato e nuovo SHA-256.

application/json

  • valueobject
  • dataobjectobbligatorio
  • source_revision_idstringobbligatorio

    format: "uuid"

  • localestringobbligatorio
  • stringsobjectobbligatorio
  • Proprietà aggiuntivastring
  • provenancestringobbligatorio

    enum: "reviewed"

  • statusstringobbligatorio

    enum: "ready"

  • strings_sha256stringobbligatorio

Esempio 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

Elenca la cronologia immutabile delle pubblicazioni.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Registri di pubblicazione.

application/json

  • valueobject
  • dataobjectobbligatorio
  • versionsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • revisionintegerobbligatorio
  • source_localestringobbligatorio
  • configured_localesarrayobbligatorio
  • Ogni elementostring
  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • subjectstringobbligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Accettato per compatibilità con la sorgente; il testo semplice generato deriva dall’HTML finale.

    maxLength: 100000

  • body_htmlstringobbligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Deve contenere uno slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versioni sorgente facoltative. Ogni versione viene tradotta automaticamente nella stessa revisione.

  • Proprietà aggiuntivaobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • variablesobjectobbligatorio
  • Proprietà aggiuntivanon specificato

    Variabile tipizzata ricorsiva. I valori monetari usano {amount_cents: integer, currency: ISO 4217 code}; le date sono date di calendario ISO e i valori datetime sono timestamp ISO con offset.

    Ulteriore annidamento omesso

  • source_messagesobjectobbligatorio
  • Proprietà aggiuntivastring
  • samplesobjectobbligatorio
  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivaQualsiasi valore
  • restored_from_revision_idstring | nullobbligatorio

    format: "uuid"

  • created_by_actor_idstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • publicationsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • source_revision_idstringobbligatorio

    format: "uuid"

  • approval_idstring | nullobbligatorio

    format: "uuid"

  • published_by_actor_idstringobbligatorio
  • published_atstringobbligatorio

    format: "date-time"

Esempio 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

Copia una revisione sorgente precedente in una nuova bozza senza pubblicarla.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

contentId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • source_revision_idstringobbligatorio

    format: "uuid"

  • expected_versionintegerobbligatorio

    minimum: 1

Risposta di successo 200

Stato della bozza ripristinato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio

    minimum: 1

  • review_requiredbooleanobbligatorio
  • 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
  • Proprietà aggiuntivaQualsiasi valore
  • translationsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • translation_jobsarray
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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
}'

Layout gestiti

GET/v1/workspaces/{workspaceId}/managed-layouts

Elenca i layout email riutilizzabili del prodotto.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Layout del prodotto.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio
  • draft_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_publication_idstring | nullobbligatorio

    format: "uuid"

Esempio 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

Crea un layout in bozza da HTML validato o da un default basato sul brand.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

  • htmlstring

    Deve contenere esattamente uno slot di contenuto.

  • source_localestring
  • source_messagesobject
  • Proprietà aggiuntivastring
  • translationsobject
  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio
  • draft_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_publication_idstring | nullobbligatorio

    format: "uuid"

  • replayedbooleanobbligatorio

Esempio 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}

Leggi un layout e la sua revisione in bozza attuale.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

layoutId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Layout e revisione della bozza.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio
  • draft_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_publication_idstring | nullobbligatorio

    format: "uuid"

  • draft_revisionnon specificatoobbligatorio
  • anyOf 1object
  • idstringobbligatorio

    format: "uuid"

  • layout_idstring

    format: "uuid"

  • revisionintegerobbligatorio
  • htmlstringobbligatorio
  • brand_snapshotobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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_localestringobbligatorio
  • source_messagesobjectobbligatorio
  • Proprietà aggiuntivastring
  • translationsobjectobbligatorio
  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

    Ulteriore annidamento omesso

  • restored_from_revision_idstring | nullobbligatorio

    format: "uuid"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

  • anyOf 2null

Esempio 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}

Salva una revisione validata del layout in bozza.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

layoutId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • expected_versionintegerobbligatorio

    minimum: 1

  • htmlstringobbligatorio

    Deve contenere esattamente uno slot di contenuto.

  • source_localestring
  • source_messagesobject
  • Proprietà aggiuntivastring
  • translationsobject
  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring

Risposta di successo 200

Nuova revisione della bozza.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio
  • draft_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_publication_idstring | nullobbligatorio

    format: "uuid"

Esempio 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

Elenca le revisioni immutabili del layout.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

layoutId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Revisioni del layout.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • layout_idstring

    format: "uuid"

  • revisionintegerobbligatorio
  • htmlstringobbligatorio
  • brand_snapshotobjectobbligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    L’icona: il simbolo da solo, usato in piccolo (piè di pagina delle email, moduli a comparsa laterale) e come intestazione quando manca il logo testuale.

    maxLength: 2000

  • wordmark_urlstring

    Il logo testuale: il nome dell’azienda nella sua forma grafica, mostrato da solo in cima a ogni email.

    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_localestringobbligatorio
  • source_messagesobjectobbligatorio
  • Proprietà aggiuntivastring
  • translationsobjectobbligatorio
  • Proprietà aggiuntivaobject
  • Proprietà aggiuntivastring
  • restored_from_revision_idstring | nullobbligatorio

    format: "uuid"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

Esempio 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

Descrivi bozze e pubblicazioni di contenuti dipendenti da questo layout.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

layoutId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Impatto delle dipendenze del layout.

application/json

  • valueobject
  • dataobjectobbligatorio
  • layout_idstringobbligatorio

    format: "uuid"

  • layout_revision_idstringobbligatorio

    format: "uuid"

  • layout_versionintegerobbligatorio
  • affected_contentsarrayobbligatorio
  • Ogni elementoobject
  • content_idstringobbligatorio

    format: "uuid"

  • versionintegerobbligatorio
  • published_revision_idstringobbligatorio

    format: "uuid"

  • active_journeysarrayobbligatorio
  • Ogni elementoobject
  • journey_idstringobbligatorio

    format: "uuid"

  • versionintegerobbligatorio
  • definition_sha256stringobbligatorio
  • manifest_sha256stringobbligatorio

Esempio 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

Copia una revisione immutabile del layout in una nuova bozza.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

layoutId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • layout_revision_idstringobbligatorio

    format: "uuid"

  • expected_versionintegerobbligatorio

    minimum: 1

Risposta di successo 200

Revisione della bozza ripristinata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • versionintegerobbligatorio
  • draft_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_revision_idstring | nullobbligatorio

    format: "uuid"

  • published_publication_idstring | nullobbligatorio

    format: "uuid"

Esempio 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
}'

Membri

PATCH/v1/workspaces/{workspaceId}/members/{memberId}

Cambia il ruolo di un altro membro.

Proprietari e amministratori impostano admin, member o viewer per un altro membro. La modifica deve essere eseguita da una persona autenticata o da un agente tramite la sua autorizzazione OAuth; una chiave API autonoma non può farlo. Nessuno cambia il proprio ruolo e il ruolo del proprietario non è modificabile. Impostare il ruolo attuale non cambia nulla.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

memberId
path · obbligatorio

ID identità del membro, come `id` nella directory del workspace.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • rolestringobbligatorio

    enum: "admin", "member", "viewer"

Risposta di successo 200

Il membro con il nuovo ruolo e quello precedente.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • userIdstringobbligatorio
  • emailstring

    format: "email"

  • displayNamestring
  • kindstringobbligatorio

    const: "user"

  • rolestringobbligatorio

    enum: "owner", "admin", "member", "viewer"

  • statusstringobbligatorio

    enum: "active", "suspended"

  • allOf 2object
  • previousRolestringobbligatorio

    enum: "owner", "admin", "member", "viewer"

Esempio 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

Crea un ticket per configurare la connessione di un agente

Richiede una sessione umana autenticata. Chiavi API e credenziali degli agenti non possono autorizzare questa operazione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • entry_surfacestringobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent"

  • client_namestringobbligatorio

    minLength: 1 · maxLength: 100

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • mcp_urlstringobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • scopesarrayobbligatorio
  • Ogni elementostring

Esempio 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

Invia per email un codice di connessione dell’agente

Richiede una sessione umana autenticata. Chiavi API e credenziali degli agenti non possono autorizzare questa operazione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • mcp_urlstringobbligatorio

    minLength: 8 · maxLength: 8000

  • reuse_pendingboolean

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • statusstringobbligatorio

    enum: "code_sent"

  • messagestring
  • expires_atstringobbligatorio

    format: "date-time"

Esempio 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

Annulla un codice di connessione dell’agente in attesa

Richiede una sessione umana autenticata. Chiavi API e credenziali degli agenti non possono autorizzare questa operazione.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • mcp_urlstringobbligatorio

    minLength: 8 · maxLength: 8000

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • statusstringobbligatorio

    enum: "cancelled"

Esempio 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"
}'

Client Oauth

GET/v1/workspaces/{workspaceId}/oauth-clients

Elenca i client OAuth del workspace per piattaforme di agenti che si collegano con ID client e segreto, come Gemini Enterprise.

Solo proprietari e amministratori. I segreti non vengono mai restituiti.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Client OAuth attivi, dal più recente.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • client_idstringobbligatorio
  • namestringobbligatorio
  • presetstringobbligatorio

    enum: "gemini_enterprise", "custom"

  • client_surfacestringobbligatorio

    La piattaforma dell’agente dietro una connessione OAuth, dal nome del client e dagli URI di reindirizzamento.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • redirect_urisarrayobbligatorio
  • Ogni elementostring

    format: "uri"

  • connectionsintegerobbligatorio

    Connessioni attive effettuate tramite questo client.

    minimum: 0

  • created_atstringobbligatorio

    format: "date-time"

  • created_by_youbooleanobbligatorio
  • setupobjectobbligatorio

    Valori da inserire nel modulo del server MCP personalizzato della piattaforma dell’agente.

  • server_urlstringobbligatorio

    format: "uri"

  • authorization_urlstringobbligatorio

    format: "uri"

  • token_urlstringobbligatorio

    format: "uri"

  • scopesstringobbligatorio

    Separati da spazi. offline_access richiede un refresh token, presente in ogni connessione.

  • token_endpoint_auth_methodsarrayobbligatorio
  • Ogni elementostring

    enum: "client_secret_basic", "client_secret_post"

Esempio 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

Crea un client OAuth riservato (ID client e segreto) per una piattaforma di agenti.

Solo proprietari e amministratori. Ogni membro che si collega tramite il client accede a Banger, approva l’accesso e agisce con il proprio ruolo in questo workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestring

    Mostrato in App collegate. Per quel preset, "Gemini Enterprise" per default.

    minLength: 1 · maxLength: 100

  • presetstring

    gemini_enterprise usa l’URI di reindirizzamento di Google; custom richiede redirect_uris.

    default: "gemini_enterprise" · enum: "gemini_enterprise", "custom"

  • redirect_urisarray

    Solo preset custom. URI di reindirizzamento HTTPS, fissati alla creazione.

    minItems: 1 · maxItems: 10

  • Ogni elementostring

    format: "uri"

Risposta di successo 201

Client OAuth creato. Il segreto del client viene restituito una sola volta.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • client_idstringobbligatorio
  • namestringobbligatorio
  • presetstringobbligatorio

    enum: "gemini_enterprise", "custom"

  • client_surfacestringobbligatorio

    La piattaforma dell’agente dietro una connessione OAuth, dal nome del client e dagli URI di reindirizzamento.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • redirect_urisarrayobbligatorio
  • Ogni elementostring

    format: "uri"

  • connectionsintegerobbligatorio

    Connessioni attive effettuate tramite questo client.

    minimum: 0

  • created_atstringobbligatorio

    format: "date-time"

  • created_by_youbooleanobbligatorio
  • setupobjectobbligatorio

    Valori da inserire nel modulo del server MCP personalizzato della piattaforma dell’agente.

  • server_urlstringobbligatorio

    format: "uri"

  • authorization_urlstringobbligatorio

    format: "uri"

  • token_urlstringobbligatorio

    format: "uri"

  • scopesstringobbligatorio

    Separati da spazi. offline_access richiede un refresh token, presente in ogni connessione.

  • token_endpoint_auth_methodsarrayobbligatorio
  • Ogni elementostring

    enum: "client_secret_basic", "client_secret_post"

  • allOf 2object
  • client_secretstringobbligatorio

Esempio 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

Revoca un client OAuth. Il suo segreto smette di funzionare e ogni connessione effettuata tramite esso perde l’accesso entro circa 30 secondi.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

clientId
path · obbligatorio
  • valuestring

    maxLength: 200

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Client OAuth revocato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • client_idstringobbligatorio
  • revokedbooleanobbligatorio

    const: true

  • revoked_connectionsintegerobbligatorio

    minimum: 0

Esempio curl

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

Ticket in tempo reale

POST/v1/workspaces/{workspaceId}/realtime-ticket

createRealtimeTicket

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • device_idstringobbligatorio

    minLength: 8 · maxLength: 128

Risposta di successo 200

Ticket di breve durata limitato all’attore e al workspace.

application/json

  • valueobject
  • dataobjectobbligatorio
  • ticketstringobbligatorio
  • websocket_urlstringobbligatorio

    format: "uri"

  • expires_atstringobbligatorio

    format: "date-time"

Esempio 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"
}'

Politica di revisione

GET/v1/workspaces/{workspaceId}/review-policy

getActionReviewPolicy

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Politica di revisione automatica del workspace.

application/json

  • valueobject
  • dataobjectobbligatorio
  • policy_versionintegerobbligatorio

    enum: 1, 2

  • automatic_review_enabledbooleanobbligatorio
  • manual_send_review_enabledbooleanobbligatorio

    False per default per richieste dirette; i limiti salvati più restrittivi restano attivi.

  • manual_send_recipient_thresholdintegerobbligatorio

    minimum: 1 · maximum: 1000000

  • updated_by_actor_idstringobbligatorio
  • created_atstring | null

    format: "date-time"

  • updated_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • automatic_review_enabledbooleanobbligatorio
  • manual_send_recipient_thresholdintegerobbligatorio

    minimum: 1 · maximum: 1000000

  • manual_send_review_enabledboolean

    Attiva il limite facoltativo di revisione umana; gli aggiornamenti espliciti della soglia legacy lo mantengono attivo.

Risposta di successo 200

Politica di revisione automatica aggiornata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • policy_versionintegerobbligatorio

    enum: 1, 2

  • automatic_review_enabledbooleanobbligatorio
  • manual_send_review_enabledbooleanobbligatorio

    False per default per richieste dirette; i limiti salvati più restrittivi restano attivi.

  • manual_send_recipient_thresholdintegerobbligatorio

    minimum: 1 · maximum: 1000000

  • updated_by_actor_idstringobbligatorio
  • created_atstring | null

    format: "date-time"

  • updated_atstring | null

    format: "date-time"

Esempio 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
}'

Seleziona

POST/v1/workspaces/{workspaceId}/select

Imposta un workspace come workspace attuale della persona autenticata.

Solo sessioni browser; chiavi API e autorizzazioni OAuth sono fissate al workspace per cui sono state autorizzate e ricevono 403 credential_workspace_pinned. Richiede un’appartenenza attiva. L’app apre quindi questo workspace con i suoi prodotti e la configurazione iniziale. Il percorso di configurazione della persona non viene reimpostato. Idempotente.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Il workspace è selezionato.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • selected_workspace_idstringobbligatorio

    format: "uuid"

Esempio curl

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

Avatar del mittente

GET/v1/workspaces/{workspaceId}/sender-avatar

getSenderAvatar

Risolve prima un avatar esatto del mittente, poi rileva e memorizza l’icona del dominio del mittente nel prefisso B2 privato del workspace. Un mittente senza immagine risponde 204; 404 indica che l’indirizzo non è un mittente in questo workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

email
query · obbligatorio
  • valuestring

    format: "email" · maxLength: 320

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Immagine avatar del mittente o dominio autenticata.

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"

Esempio curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sender-avatar?email=person%40example.com' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Stato dell’invio

GET/v1/workspaces/{workspaceId}/sending-health

Leggi stato di applicazione della reputazione del mittente, tassi dei canali, pause e soglie applicate.

Ogni canale (Casella, Prodotto, Campagna) di ogni dominio di invio con tassi di mancata consegna definitiva e reclami nelle ultime 24 ore e stato (active, warning, paused), eventuali pause del dominio, caselle in pausa e se il workspace è bloccato. Ogni pausa elenca le principali fonti di mancate consegne e reclami e se un amministratore del workspace può riprenderla. Le soglie sono documentate in docs/product/sending-reputation-enforcement.md.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato dell’invio.

application/json

  • valueobject
  • dataobjectobbligatorio
  • workspaceobjectobbligatorio
  • statestringobbligatorio

    enum: "active", "frozen"

  • holdnon specificatoobbligatorio
  • oneOf 1object
  • idstringobbligatorio

    format: "uuid"

  • scopestringobbligatorio

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobbligatorio

    enum: "warning", "paused", "frozen"

  • reasonstringobbligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

  • started_atstringobbligatorio

    format: "date-time"

  • review_requiredbooleanobbligatorio
  • evidenceobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • resumeobjectobbligatorio
  • self_servebooleanobbligatorio

    Ulteriore annidamento omesso

  • blocked_reasonstring | nullobbligatorio

    Ulteriore annidamento omesso

  • resumable_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • top_sourcesarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • top_recipient_domainsarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • oneOf 2null
  • domainsarrayobbligatorio
  • Ogni elementoobject
  • domain_idstringobbligatorio

    format: "uuid"

  • domainstringobbligatorio
  • product_idstring | nullobbligatorio

    format: "uuid"

  • statestringobbligatorio

    enum: "active", "paused"

  • holdnon specificatoobbligatorio
  • oneOf 1object
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • scopestringobbligatorio

    enum: "mailbox", "lane", "domain", "workspace"

    Ulteriore annidamento omesso

  • statestringobbligatorio

    enum: "warning", "paused", "frozen"

    Ulteriore annidamento omesso

  • reasonstringobbligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

    Ulteriore annidamento omesso

  • started_atstringobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • review_requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • evidenceobjectobbligatorio

    Ulteriore annidamento omesso

  • resumeobjectobbligatorio

    Ulteriore annidamento omesso

  • top_sourcesarray

    Ulteriore annidamento omesso

  • top_recipient_domainsarray

    Ulteriore annidamento omesso

  • oneOf 2null
  • lanesarrayobbligatorio
  • Ogni elementoobject
  • lane_kindstringobbligatorio

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

    Ulteriore annidamento omesso

  • sending_stream_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • from_domainstringobbligatorio

    Ulteriore annidamento omesso

  • statestringobbligatorio

    enum: "active", "warning", "paused"

    Ulteriore annidamento omesso

  • probation_untilstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • ratesobjectobbligatorio

    Ulteriore annidamento omesso

  • holdnon specificatoobbligatorio

    Ulteriore annidamento omesso

  • mailboxesarrayobbligatorio
  • Ogni elementoobject
  • mailbox_idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • product_idstring | nullobbligatorio

    format: "uuid"

  • statestringobbligatorio

    enum: "paused"

  • holdobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • scopestringobbligatorio

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobbligatorio

    enum: "warning", "paused", "frozen"

  • reasonstringobbligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

  • started_atstringobbligatorio

    format: "date-time"

  • review_requiredbooleanobbligatorio
  • evidenceobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • resumeobjectobbligatorio
  • self_servebooleanobbligatorio

    Ulteriore annidamento omesso

  • blocked_reasonstring | nullobbligatorio

    Ulteriore annidamento omesso

  • resumable_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • top_sourcesarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • top_recipient_domainsarray
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • thresholdsobjectobbligatorio

    Le soglie applicate (src/sending/reputation-policy.ts).

  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Riprendi un canale, dominio o casella in pausa dopo averne esaminato tassi e fonti.

Solo amministratore del workspace. Consentito 24 ore dopo una pausa di canale o dominio e una volta ogni 30 giorni per dominio. Una pausa ripetuta entro 30 giorni o un workspace bloccato richiedono revisione Banger e vengono rifiutati con 423. Dopo la ripresa, il canale invia in lotti più piccoli per 24 ore; Campagne e Percorsi trattenuti proseguono automaticamente.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • hold_idstringobbligatorio

    La pausa (hold.id) da getSendingHealth.

    format: "uuid"

  • acknowledge_reputation_riskbooleanobbligatorio

    const: true

  • reasonstring

    Cosa è stato corretto; registrato nel log di controllo.

    maxLength: 500

Risposta di successo 200

La pausa è stata rimossa.

application/json

  • valueobject
  • dataobjectobbligatorio
  • resumedobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • scopestringobbligatorio

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobbligatorio

    enum: "warning", "paused", "frozen"

  • reasonstringobbligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

  • started_atstringobbligatorio

    format: "date-time"

  • review_requiredbooleanobbligatorio
  • evidenceobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • resumeobjectobbligatorio
  • self_servebooleanobbligatorio
  • blocked_reasonstring | nullobbligatorio
  • resumable_atstring | nullobbligatorio

    format: "date-time"

  • top_sourcesarray
  • Ogni elementoobject
  • signalstringobbligatorio

    enum: "hard_bounce", "complaint"

  • sourcestringobbligatorio
  • source_idstring | nullobbligatorio
  • countintegerobbligatorio
  • top_recipient_domainsarray
  • Ogni elementoobject
  • signalstringobbligatorio

    enum: "hard_bounce", "complaint"

  • recipient_domainstringobbligatorio
  • countintegerobbligatorio
  • probation_untilstring | nullobbligatorio

    format: "date-time"

  • healthobjectobbligatorio
  • workspaceobjectobbligatorio
  • statestringobbligatorio

    enum: "active", "frozen"

  • holdnon specificatoobbligatorio
  • oneOf 1object
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • scopestringobbligatorio

    enum: "mailbox", "lane", "domain", "workspace"

    Ulteriore annidamento omesso

  • statestringobbligatorio

    enum: "warning", "paused", "frozen"

    Ulteriore annidamento omesso

  • reasonstringobbligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

    Ulteriore annidamento omesso

  • started_atstringobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • review_requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • evidenceobjectobbligatorio

    Ulteriore annidamento omesso

  • resumeobjectobbligatorio

    Ulteriore annidamento omesso

  • top_sourcesarray

    Ulteriore annidamento omesso

  • top_recipient_domainsarray

    Ulteriore annidamento omesso

  • oneOf 2null
  • domainsarrayobbligatorio
  • Ogni elementoobject
  • domain_idstringobbligatorio

    format: "uuid"

  • domainstringobbligatorio
  • product_idstring | nullobbligatorio

    format: "uuid"

  • statestringobbligatorio

    enum: "active", "paused"

  • holdnon specificatoobbligatorio
  • oneOf 1object

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • lanesarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • mailboxesarrayobbligatorio
  • Ogni elementoobject
  • mailbox_idstringobbligatorio

    format: "uuid"

  • addressstringobbligatorio
  • product_idstring | nullobbligatorio

    format: "uuid"

  • statestringobbligatorio

    enum: "paused"

  • holdobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • scopestringobbligatorio

    enum: "mailbox", "lane", "domain", "workspace"

    Ulteriore annidamento omesso

  • statestringobbligatorio

    enum: "warning", "paused", "frozen"

    Ulteriore annidamento omesso

  • reasonstringobbligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

    Ulteriore annidamento omesso

  • started_atstringobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • review_requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • evidenceobjectobbligatorio

    Ulteriore annidamento omesso

  • resumeobjectobbligatorio

    Ulteriore annidamento omesso

  • top_sourcesarray

    Ulteriore annidamento omesso

  • top_recipient_domainsarray

    Ulteriore annidamento omesso

  • thresholdsobjectobbligatorio

    Le soglie applicate (src/sending/reputation-policy.ts).

  • Proprietà aggiuntivaQualsiasi valore

Esempio 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"
}'

Canali di invio

GET/v1/workspaces/{workspaceId}/sending-lanes

listEmailLanes

Canali configurati e instradamento effettivo per il mittente predefinito. Prodotto e Campagna ereditano la connessione Mail predefinita finché non è attivo un canale dedicato. I canali in attesa non sostituiscono la route funzionante.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Canali canonici, route ereditate e mittente predefinito esistente.

application/json

  • valueobject
  • dataobjectobbligatorio
  • domainsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • created_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • kindstringobbligatorio

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

    Ulteriore annidamento omesso

  • display_namestringobbligatorio

    Ulteriore annidamento omesso

  • from_domainstringobbligatorio

    Ulteriore annidamento omesso

  • mail_from_domainstring | nullobbligatorio

    Ulteriore annidamento omesso

  • inbound_domainstring | nullobbligatorio

    Ulteriore annidamento omesso

  • route_providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

    Ulteriore annidamento omesso

  • status_reasonstring | nullobbligatorio

    Ulteriore annidamento omesso

  • desired_revisionintegerobbligatorio

    minimum: 1

    Ulteriore annidamento omesso

  • observed_revisionintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • dns_readybooleanobbligatorio

    Ulteriore annidamento omesso

  • provider_readybooleanobbligatorio

    Ulteriore annidamento omesso

  • inbound_readybooleanobbligatorio

    Ulteriore annidamento omesso

  • outbound_readybooleanobbligatorio

    Ulteriore annidamento omesso

  • banger_transport_readybooleanobbligatorio

    Ulteriore annidamento omesso

  • banger_mail_from_domainstring | nullobbligatorio

    Ulteriore annidamento omesso

  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • provisioning_statusstringobbligatorio

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

    Ulteriore annidamento omesso

  • provisioning_error_codestring | null

    Ulteriore annidamento omesso

  • provisioning_next_attempt_atstring | null

    Ulteriore annidamento omesso

  • provisioning_last_checked_atstring | null

    Ulteriore annidamento omesso

  • provider_identity_statusstring | null

    Ulteriore annidamento omesso

  • provider_dkim_statusstring | null

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • routingobjectobbligatorio
  • mailboxobjectobbligatorio
  • kindstringobbligatorio

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

  • lane_idstring | nullobbligatorio
  • domain_idstring | nullobbligatorio
  • from_domainstring | nullobbligatorio
  • sourcestringobbligatorio

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobbligatorio
  • pending_lanesarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    Ulteriore annidamento omesso

  • from_domainstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    Ulteriore annidamento omesso

  • productobjectobbligatorio
  • kindstringobbligatorio

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

  • lane_idstring | nullobbligatorio
  • domain_idstring | nullobbligatorio
  • from_domainstring | nullobbligatorio
  • sourcestringobbligatorio

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobbligatorio
  • pending_lanesarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    Ulteriore annidamento omesso

  • from_domainstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    Ulteriore annidamento omesso

  • broadcastobjectobbligatorio
  • kindstringobbligatorio

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

  • lane_idstring | nullobbligatorio
  • domain_idstring | nullobbligatorio
  • from_domainstring | nullobbligatorio
  • sourcestringobbligatorio

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobbligatorio
  • pending_lanesarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    Ulteriore annidamento omesso

  • from_domainstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    Ulteriore annidamento omesso

  • default_sendernon specificatoobbligatorio
  • oneOf 1object
  • idstringobbligatorio

    format: "uuid"

  • workspace_idstringobbligatorio

    format: "uuid"

  • product_idstring | null

    Il prodotto (progetto) a cui appartiene la casella. I client lo usano per raggruppare le caselle e creare link all’app web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobbligatorio

    format: "email"

  • display_namestringobbligatorio
  • providerstringobbligatorio

    enum: "gmail", "smtp"

  • statusstringobbligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobbligatorio

    enum: "domain", "starter"

  • oneOf 2null

Esempio 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

Prepara solo il canale richiesto sul suo hostname esatto. Ricontrolla i conflitti DNS sotto il blocco dell’infrastruttura. I canali identici esistenti vengono riutilizzati; gli hostname occupati non vengono mai sovrascritti. Non crea modifiche DNS né canali aggiuntivi.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • domainstringobbligatorio

    Dominio aziendale principale, come example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobbligatorio

    Radice o sottodominio esatto da configurare, come example.com o news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobbligatorio

    Mail è la casella. Invia e riceve; Prodotto e Campagna sono canali di invio dedicati facoltativi.

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

  • root_dmarc_confirmedboolean

    Campo di compatibilità legacy; la configurazione conserva le politiche email esistenti e non richiede conferma.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Risposta di successo 200

Lo stesso canale configurato restituito in modo idempotente.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio

Esempio 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

Verifica di sola lettura della disponibilità e del DNS. Non crea risorse. I soli record del sito non occupano un hostname email. Restituisce configurazione esistente e conflitti nei nomi che Banger deve modificare. Autenticazione di invio e politiche DMARC esistenti vengono conservate.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • domainstringobbligatorio

    Dominio aziendale principale, come example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobbligatorio

    Radice o sottodominio esatto da configurare, come example.com o news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobbligatorio

    Mail è la casella. Invia e riceve; Prodotto e Campagna sono canali di invio dedicati facoltativi.

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

  • root_dmarc_confirmedboolean

    Campo di compatibilità legacy; la configurazione conserva le politiche email esistenti e non richiede conferma.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Risposta di successo 200

Piano di configurazione del canale.

application/json

  • valueobject
  • dataobjectobbligatorio
  • statusstringobbligatorio

    enum: "available", "existing", "occupied", "migration_required"

  • from_domainstringobbligatorio
  • lanestringobbligatorio

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

  • domain_idstring | nullobbligatorio
  • lane_idstring | nullobbligatorio
  • messagestringobbligatorio
  • requires_root_confirmationbooleanobbligatorio

    Sempre false; le politiche email esistenti vengono conservate.

  • existing_dnsarrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio
  • typestringobbligatorio
  • valuestringobbligatorio

Esempio 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

Richiedi la revisione umana di migrazione esistente solo per questo canale. Solo un amministratore autenticato può autorizzarla in Approvazioni.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obbligatorio

Prodotto operativo esplicito; deve corrispondere alle credenziali OAuth limitate al prodotto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • domainstringobbligatorio

    Dominio aziendale principale, come example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobbligatorio

    Radice o sottodominio esatto da configurare, come example.com o news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobbligatorio

    Mail è la casella. Invia e riceve; Prodotto e Campagna sono canali di invio dedicati facoltativi.

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

  • root_dmarc_confirmedboolean

    Campo di compatibilità legacy; la configurazione conserva le politiche email esistenti e non richiede conferma.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Risposta di successo 200

Revisione di migrazione esistente restituita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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"
  }
}'

Modelli iniziali

GET/v1/workspaces/{workspaceId}/starters

listStarters

Layout iniziali generati con il brand del prodotto, ciascuno con un brief (obiettivo, quando inviare, metrica, meccanismo, oggetti da testare), slot e contenuti predefiniti. Gli elenchi sono compatti e per default adatti al tipo di attività del prodotto; richiedi un modello iniziale per ID per ottenere body_html.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

id
query

Un modello iniziale; include 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

Stile visivo; per default email_style del brand.

  • valuestring

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

locale
query

Lingua per testi integrati ed etichette della galleria; en-US per default.

  • valuestring

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • versionintegerobbligatorio
  • categorystringobbligatorio
  • message_kindstringobbligatorio
  • familystringobbligatorio
  • stagestringobbligatorio
  • businessesarrayobbligatorio
  • Ogni elementostring
  • namestringobbligatorio
  • descriptionstringobbligatorio
  • subjectstringobbligatorio
  • body_textstringobbligatorio
  • briefobjectobbligatorio
  • jobstringobbligatorio
  • send_whenstringobbligatorio
  • metricstringobbligatorio
  • mechanicstringobbligatorio
  • subject_variantsarrayobbligatorio
  • Ogni elementostring
  • keeparray
  • Ogni elementostring
  • avoidarray
  • Ogni elementostring
  • imageryobject
  • defaultstringobbligatorio
  • slotstring
  • photo_ideastring
  • slotsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • contentobjectobbligatorio
  • Proprietà aggiuntivastring
  • body_htmlstring
  • businessstringobbligatorio
  • stylestringobbligatorio
  • businessesarrayobbligatorio
  • Ogni elementoobject
  • keystring
  • labelstring
  • hintstring
  • stagesarrayobbligatorio
  • Ogni elementoobject
  • keystring
  • labelstring
  • stylesarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio
  • labelstringobbligatorio
  • descriptionstringobbligatorio

Esempio 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"

Supporto

POST/v1/workspaces/{workspaceId}/support/messages

Invia un messaggio al supporto Banger

Invia il messaggio a support@team.bangermail.com con Reply-To impostato all’indirizzo verificato della persona autenticata (la persona dell’autorizzazione OAuth o il proprietario del workspace per una chiave API statica). Sono allegati workspace, ruolo e piano. Dieci messaggi al giorno per persona.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • messagestringobbligatorio

    minLength: 1 · maxLength: 5000

  • contextobject

    Ciò che il client sa della posizione della persona. Ogni campo è facoltativo e viene ripulito dagli spazi esterni.

  • surfacestring

    maxLength: 120

  • app_releasestring

    maxLength: 64

  • browserstring

    maxLength: 300

  • localestring

    maxLength: 35

  • recent_errorsarray

    maxItems: 5

  • Ogni elementostring

    maxLength: 300

Risposta di successo 201

Il messaggio è stato inviato al supporto.

application/json

  • valueobject
  • dataobject
  • statusstringobbligatorio

    enum: "sent"

  • reply_tostringobbligatorio

    format: "email"

Esempio 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"
    ]
  }
}'

Esclusioni dall’invio

GET/v1/workspaces/{workspaceId}/suppressions

listSuppressions

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • email_hashstringobbligatorio
  • reasonstringobbligatorio

    enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring | nullobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • emailstringobbligatorio

    minLength: 3 · maxLength: 320

  • reasonstring

    default: "manual" · enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring

    maxLength: 500

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • email_hashstringobbligatorio
  • reasonstringobbligatorio

    enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring | nullobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

emailHash
path · obbligatorio
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Esclusione rimossa.

Nessun corpo della risposta.

Esempio curl

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

Dati della schermata

GET/v1/workspaces/{workspaceId}/surface-data/{surface}

Carica una schermata del prodotto con un’unica transazione database autorizzata.

Restituisce dati limitati di primo caricamento per una schermata nell’ambito del prodotto. La richiesta convalida appartenenza al workspace e prodotto selezionato nella stessa transazione isolata per tenant delle query dell’endpoint. La schermata webhook include event_definitions (nomi di trigger e obiettivi dei Percorsi, incluse le bozze), event_stats (conteggi delle ricevute in ingresso salvate) e receipts (dalla più recente, fino a 51 righe). I client mostrano 50 ricevute e usano la riga aggiuntiva per rilevare un’altra pagina. I webhook in ingresso includono public_url; le credenziali vengono recuperate separatamente. I metadati delle ricevute non contengono payload grezzi né etichette storiche test/live. outgoing_event_types contiene il catalogo fisso degli eventi Banger automatici e l’evento manuale webhook.test, indipendentemente dagli endpoint configurati.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

surface
path · obbligatorio
  • 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

Nella schermata webhook, limita cronologia delle ricevute e consegne in uscita a questo endpoint.

  • valuestring

    format: "uuid"

event_type
query

Nella schermata webhook, filtra le ricevute in ingresso per nome evento esatto. Definizioni del catalogo e totali restano a livello di prodotto.

  • valuestring

    maxLength: 120

receipt_before
query

Cursore delle ricevute in ingresso, oggetto JSON con receivedAt, endpointId ed eventId dell’ultima riga visualizzata. Conserva receivedAt esattamente per mantenere la precisione inferiore al millisecondo. Codifica il valore JSON per 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"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Dati della schermata di primo caricamento nell’ambito del prodotto.

application/json

  • valueobject
  • dataobjectobbligatorio

    Aggregato specifico della schermata selezionato tramite surface e parametri di query. Chiavi e proiezioni di risorse annidate variano per surface (home, product, broadcasts, audience, domains, mailboxes, journeys, deliverability, api_keys, webhooks, approvals, connections, logs).

  • Proprietà aggiuntivaQualsiasi valore

Esempio 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"

Azioni Triage

GET/v1/workspaces/{workspaceId}/triage-actions

listTriageActions

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • 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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • thread_idstringobbligatorio

    format: "uuid"

  • rule_idstringobbligatorio

    format: "uuid"

  • rule_namestringobbligatorio
  • auto_set_for_label_idstring | nullobbligatorio

    format: "uuid"

  • actionstringobbligatorio
  • label_idstring | nullobbligatorio

    format: "uuid"

  • label_namestring | nullobbligatorio
  • label_emojistring | nullobbligatorio
  • thread_subjectstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • undone_atstring | nullobbligatorio

    format: "date-time"

Esempio 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

Annulla un’azione Triage. Per default insegna anche alla regola che l’email non corrisponde; imposta teach_rule a false per un normale annullamento.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

actionId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • teach_ruleboolean

    Insegna anche alla regola che questa email non corrisponde. False annulla l’azione senza feedback.

    default: true

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • undonebooleanobbligatorio

    const: true

  • command_idstring | nullobbligatorio

    format: "uuid"

Esempio 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
}'

Regole Triage

GET/v1/workspaces/{workspaceId}/triage-rules

listTriageRules

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • auto_set_for_label_idstring | nullobbligatorio

    format: "uuid"

  • descriptionstring | nullobbligatorio
  • exact_conditionsobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • actionsarrayobbligatorio
  • Ogni elementoobject
  • typestringobbligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobbligatorio
  • versionintegerobbligatorio
  • error_codestring | nullobbligatorio
  • example_countintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Crea una regola Triage per la posta in arrivo (ogni piano; le regole attive contano nel limite del piano). When = description (valutata da Jev) e/o exact_conditions e/o has_label_ids; Then = actions.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Chiave facoltativa di ripetizione, applicata quando è selezionato un prodotto.

  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valuenon specificato
  • allOf 1object
  • namestring

    maxLength: 120

  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Ogni elementostring

    format: "uuid"

  • actionsarray

    minItems: 1 · maxItems: 8

  • Ogni elementoobject
  • typestringobbligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledboolean
  • allOf 2object
  • mailbox_idstringobbligatorio

    format: "uuid"

Risposta di successo 201

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • auto_set_for_label_idstring | nullobbligatorio

    format: "uuid"

  • descriptionstring | nullobbligatorio
  • exact_conditionsobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • actionsarrayobbligatorio
  • Ogni elementoobject
  • typestringobbligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobbligatorio
  • versionintegerobbligatorio
  • error_codestring | nullobbligatorio
  • example_countintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Quali conversazioni recenti corrisponderebbero a un When. Sola lettura; non restituisce punteggi.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • mailbox_idstringobbligatorio

    format: "uuid"

  • rule_idstring

    format: "uuid"

  • descriptionstring

    maxLength: 2000

  • exact_conditionsobject

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Ogni elementostring

    format: "uuid"

  • limitinteger

    minimum: 1 · maximum: 200

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • scannedintegerobbligatorio
  • matchesarrayobbligatorio
  • Ogni elementoobject
  • thread_idstringobbligatorio

    format: "uuid"

  • subjectstringobbligatorio
  • fromstring
  • received_atstring

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • mailbox_idstringobbligatorio

    format: "uuid"

  • rule_idsarray

    maxItems: 50

  • Ogni elementostring

    format: "uuid"

  • daysinteger

    minimum: 1 · maximum: 90

  • include_other_actionsboolean

    Archivia anche

Risposta di successo 202

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • queued_threadsintegerobbligatorio
  • daysintegerobbligatorio
  • labels_onlybooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

ruleId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • auto_set_for_label_idstring | nullobbligatorio

    format: "uuid"

  • descriptionstring | nullobbligatorio
  • exact_conditionsobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • actionsarrayobbligatorio
  • Ogni elementoobject
  • typestringobbligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobbligatorio
  • versionintegerobbligatorio
  • error_codestring | nullobbligatorio
  • example_countintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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 regola automatica di un’etichetta può essere modificata solo tramite updateLabel.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

ruleId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Chiave facoltativa di ripetizione, applicata quando è selezionato un prodotto.

  • valuestring

    minLength: 1 · maxLength: 256

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • namestring

    maxLength: 120

  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Ogni elementostring

    format: "uuid"

  • actionsarray

    minItems: 1 · maxItems: 8

  • Ogni elementoobject
  • typestringobbligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledboolean

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • auto_set_for_label_idstring | nullobbligatorio

    format: "uuid"

  • descriptionstring | nullobbligatorio
  • exact_conditionsobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • fromarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Ogni elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobbligatorio
  • Ogni elementostring

    format: "uuid"

  • actionsarrayobbligatorio
  • Ogni elementoobject
  • typestringobbligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobbligatorio
  • versionintegerobbligatorio
  • error_codestring | nullobbligatorio
  • example_countintegerobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

ruleId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Regola Triage eliminata.

Nessun corpo della risposta.

Esempio curl

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

Utilizzo di Triage

GET/v1/workspaces/{workspaceId}/triage-usage

getTriageUsage

Utilizzo di Triage del workspace in questo mese di calendario UTC rispetto alle quantità del piano, quando il conteggio si azzera e il piano più economico che verifica più email. Superata la quantità mensile, la nuova posta resta non classificata fino all’azzeramento.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • unlimitedbooleanobbligatorio

    Entrambe le quantità non hanno limiti per questo workspace.

  • rule_limitintegerobbligatorio

    Regole Triage e automatiche consentite attive contemporaneamente.

  • rules_enabledintegerobbligatorio
  • run_limitintegerobbligatorio

    Email verificate da Triage per mese di calendario UTC.

  • runs_this_monthintegerobbligatorio
  • resets_atstringobbligatorio

    Primo istante del prossimo mese di calendario UTC.

    format: "date-time"

  • plan_keystringobbligatorio

    Piano attuale del workspace; free se non ne ha uno.

  • next_plannon specificatoobbligatorio

    Il piano più economico superiore a quello attuale che verifica più email al mese; null se nessuno o illimitato.

  • oneOf 1null
  • oneOf 2object
  • plan_keystringobbligatorio
  • labelstringobbligatorio
  • monthly_price_usdnumberobbligatorio

    Prezzo mensile di listino (fatturazione annuale / 12).

  • triage_run_limitintegerobbligatorio

Esempio curl

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

Work

GET/v1/workspaces/{workspaceId}/work

listWork

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • 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"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Elementi Work dell’intero workspace.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • threadobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • subjectstringobbligatorio
  • snippetstringobbligatorio
  • last_message_atstringobbligatorio

    format: "date-time"

  • message_countintegerobbligatorio
  • unread_countintegerobbligatorio
  • is_archivedbooleanobbligatorio
  • is_trashbooleanobbligatorio
  • is_spambooleanobbligatorio
  • is_starredbooleanobbligatorio
  • is_sentbooleanobbligatorio
  • has_attachmentsbooleanobbligatorio
  • labelsarrayobbligatorio
  • Ogni elementostring
  • participantsarray
  • Ogni elementoobject
  • namestring

    Ulteriore annidamento omesso

  • emailstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "open", "waiting", "done"

  • priorityintegerobbligatorio
  • assignee_identity_idstring
  • updated_atstringobbligatorio

    format: "date-time"

  • pageobjectobbligatorio
  • next_cursorstring
  • has_morebooleanobbligatorio

Esempio 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"

Connessioni

GET/v1/workspaces/{workspaceId}/connections

Elenca le connessioni ai dati di prodotto e aziendali gestite da Banger.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Metadati e funzionalità della connessione. Le credenziali non vengono mai restituite.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • adapter_keystringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobbligatorio
  • statusstringobbligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobbligatorio

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobbligatorio

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • configobjectobbligatorio

    Configurazione non segreta dell’adattatore, come host cloud e ID progetto.

  • Proprietà aggiuntivaQualsiasi valore
  • 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_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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}

Convalida e crittografa una connessione sorgente gestita da Banger.

Collegare Mailchimp avvia subito il trasferimento da Mailchimp (come startMailchimpMigration) e la risposta contiene il primo report in `mailchimp_migration`. Senza display_name, una connessione Mailchimp prende il nome dall’account, ad es. "Mailchimp (Acme Inc)". Collegare un account Mailchimp già collegato risponde 409 `mailchimp_account_already_connected` con `error.details.connection_id`.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

adapterKey
path · obbligatorio
  • valuestring

    enum: "anthropic", "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "openai", "slack", "snowflake", "zendesk"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • api_keystringobbligatorio

    Chiave API o JSON dell’account di servizio del provider.

    minLength: 12 · maxLength: 10000

  • display_namestring

    maxLength: 100

  • configobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Ripetizione idempotente di una richiesta di connessione esistente.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • adapter_keystringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobbligatorio
  • statusstringobbligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobbligatorio

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobbligatorio

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • configobjectobbligatorio

    Configurazione non segreta dell’adattatore, come host cloud e ID progetto.

  • Proprietà aggiuntivaQualsiasi valore
  • 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_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • mailchimp_migrationobject

    Trasferimento da una connessione Mailchimp a un prodotto. Interroga GET /mailchimp-migration per l’avanzamento in tempo reale: `phase` indica la fase; `counts`, `audiences`, `segments`, `templates` e `campaigns` crescono durante il processo.

  • migration_idstringobbligatorio

    format: "uuid"

  • connection_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "importing", "completed"

  • phasestringobbligatorio

    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_atstringobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • connectionobjectobbligatorio
  • display_namestringobbligatorio
  • account_namestring | nullobbligatorio
  • statusstringobbligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobbligatorio
  • needs_new_keybooleanobbligatorio
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobbligatorio
  • import_streamsintegerobbligatorio
  • import_streams_doneintegerobbligatorio
  • failing_streamsarrayobbligatorio
  • Ogni elementoobject
  • streamstringobbligatorio
  • refstringobbligatorio
  • error_codestring | nullobbligatorio
  • designs_waitingintegerobbligatorio
  • notestringobbligatorio
  • countsobjectobbligatorio
  • contactsintegerobbligatorio
  • subscribedintegerobbligatorio
  • unsubscribedintegerobbligatorio
  • bouncedintegerobbligatorio
  • contact_listsintegerobbligatorio
  • contact_fieldsintegerobbligatorio
  • segments_convertedintegerobbligatorio
  • segments_kept_as_listsintegerobbligatorio
  • templates_importedintegerobbligatorio
  • templates_to_rebuildintegerobbligatorio
  • campaigns_imported_as_designsintegerobbligatorio
  • automations_importedintegerobbligatorio
  • audiencesarrayobbligatorio
  • Ogni elementoobject
  • mailchimp_idstringobbligatorio
  • namestringobbligatorio
  • list_idstring | nullobbligatorio

    format: "uuid"

  • list_namestring | nullobbligatorio
  • members_in_bangerintegerobbligatorio
  • subscribedintegerobbligatorio
  • unsubscribedintegerobbligatorio
  • bouncedintegerobbligatorio
  • members_in_mailchimpintegerobbligatorio
  • contact_fieldsarrayobbligatorio
  • Ogni elementoobject
  • mailchimp_tagstringobbligatorio
  • namestringobbligatorio
  • field_keystringobbligatorio
  • typestringobbligatorio

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

  • consentstringobbligatorio
  • segmentsarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring
  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring
  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject
  • keystringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • templatesarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring
  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring
  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject
  • keystringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • campaignsarrayobbligatorio
  • Ogni elementoobject

    Cosa è diventato un segmento, modello o campagna Mailchimp.

  • mailchimp_idstringobbligatorio

    Segmenti: <audience id>:<segment id>. Modelli e campagne: il loro ID Mailchimp.

  • becamestringobbligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    Il segmento Banger

    format: "uuid"

  • namestringobbligatorio
  • reasonstring

    Perché un segmento è rimasto una lista statica

  • dropped_merge_tagsarray

    Tag di unione Mailchimp senza equivalente Banger, rimossi dal design (le condizioni sui campi di unione mantengono il primo ramo e sono elencate qui).

  • Ogni elementostring
  • replaced_footerboolean

    La sezione footer di Mailchimp (visualizza nel browser, preferenze, indirizzo, badge) è diventata il footer del brand del prodotto.

  • removed_linksarray

    Link a pagine solo Mailchimp fuori dal footer (come visualizza nel browser) che sono stati rimossi, indicati dal testo.

  • Ogni elementostring
  • links_to_fillarray

    Link lasciati vuoti in Mailchimp; ciascuno è ora uno slot URL del design da compilare prima dell’invio.

  • Ogni elementoobject
  • keystringobbligatorio

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • kept_editsboolean

    Una nuova esecuzione ha trovato il design modificato in Banger e lo ha lasciato invariato.

  • automationsobjectobbligatorio
  • importedbooleanobbligatorio

    const: false

  • whystringobbligatorio
  • next_stepsarrayobbligatorio
  • Ogni elementostring
  • help_call_urlstringobbligatorio

    format: "uri"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

connectionId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Connessione, credenziali, stato di sincronizzazione e autorizzazioni revocati.

Nessun corpo della risposta.

Esempio 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

Riconvalida le credenziali attive e aggiorna i metadati dell’account.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

connectionId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Le credenziali della connessione sono valide.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • adapter_keystringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobbligatorio
  • statusstringobbligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobbligatorio

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobbligatorio

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • configobjectobbligatorio

    Configurazione non segreta dell’adattatore, come host cloud e ID progetto.

  • Proprietà aggiuntivaQualsiasi valore
  • 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_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Convalida e ruota atomicamente le credenziali di una connessione gestita.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

connectionId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • api_keystringobbligatorio

    Chiave API o JSON dell’account di servizio del provider.

    minLength: 12 · maxLength: 10000

  • display_namestring

    maxLength: 100

  • configobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Ripetizione idempotente di una rotazione precedente.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • adapter_keystringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobbligatorio
  • statusstringobbligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobbligatorio

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobbligatorio

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • configobjectobbligatorio

    Configurazione non segreta dell’adattatore, come host cloud e ID progetto.

  • Proprietà aggiuntivaQualsiasi valore
  • 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_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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

Esegui una lettura tipizzata e limitata su una connessione gestita da Banger.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

connectionId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • adapter_keystringobbligatorio

    enum: "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "slack", "snowflake", "zendesk"

  • operationstringobbligatorio

    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
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Risposta autenticata e tipizzata dalla sorgente collegata.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • adapter_keystringobbligatorio

    enum: "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "slack", "snowflake", "zendesk"

  • operationstringobbligatorio
  • capabilitystringobbligatorio
  • sourceobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • external_account_idstringobbligatorio
  • external_account_namestringobbligatorio
  • fetched_atstringobbligatorio

    format: "date-time"

  • freshnessstringobbligatorio

    const: "live"

  • dataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

connectionId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Autorizzazioni attive per la connessione.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • connection_idstringobbligatorio

    format: "uuid"

  • principal_kindstringobbligatorio

    enum: "agent", "automation", "api_key"

  • principal_idstringobbligatorio
  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • created_by_actor_idstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • expires_atstring | null

    format: "date-time"

  • revoked_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

connectionId
path · obbligatorio
  • valuestring

    format: "uuid"

principalKind
path · obbligatorio
  • valuestring

    enum: "agent", "automation", "api_key"

principalId
path · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 200

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • capabilitiesarrayobbligatorio

    minItems: 1 · uniqueItems: true

  • Ogni elementostring
  • resource_scopeobject
  • Proprietà aggiuntivaQualsiasi valore
  • expires_atstring

    format: "date-time"

Risposta di successo 200

Accesso alla connessione concesso o sostituito.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • connection_idstringobbligatorio

    format: "uuid"

  • principal_kindstringobbligatorio

    enum: "agent", "automation", "api_key"

  • principal_idstringobbligatorio
  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • created_by_actor_idstringobbligatorio
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • expires_atstring | null

    format: "date-time"

  • revoked_atstring | null

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

connectionId
path · obbligatorio
  • valuestring

    format: "uuid"

principalKind
path · obbligatorio
  • valuestring

    enum: "agent", "automation", "api_key"

principalId
path · obbligatorio
  • valuestring

    minLength: 1 · maxLength: 200

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Autorizzazione della connessione revocata.

Nessun corpo della risposta.

Esempio curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Provider

POST/v1/workspaces/{workspaceId}/providers/google/oauth/session

Avvia una connessione casella Gmail protetta da PKCE per questo workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

URL di autorizzazione Gmail e contratto di polling.

application/json

  • valueobject
  • sessionobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • sessionIdstringobbligatorio

    format: "uuid"

  • authUrlstringobbligatorio

    format: "uri"

  • expiresAtintegerobbligatorio

    format: "int64"

  • pollIntervalMsintegerobbligatorio

    minimum: 250

Esempio 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}

Interroga una sessione di autorizzazione Gmail entro il suo workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

sessionId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato attuale dell’autorizzazione Gmail.

application/json

  • valueobject
  • sessionobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • statusstringobbligatorio

    enum: "pending", "complete", "error", "expired"

  • mailboxIdstring | nullobbligatorio

    format: "uuid"

  • emailstring | nullobbligatorio

    format: "email"

  • errorstring | nullobbligatorio
  • expiresAtintegerobbligatorio

    format: "int64"

Esempio curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/providers/google/oauth/sessions/{sessionId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Connessioni ai provider

GET/v1/workspaces/{workspaceId}/provider-connections

listProviderConnections

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Metadati della connessione al provider. Le credenziali non vengono mai restituite.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • kindstringobbligatorio
  • ownershipstringobbligatorio

    enum: "customer", "banger"

  • statusstringobbligatorio

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

  • display_namestringobbligatorio
  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobbligatorio
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • verified_domainsarray
  • Ogni elementostring

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • api_keystringobbligatorio

    minLength: 16 · maxLength: 500

  • display_namestring

    maxLength: 100

Risposta di successo 200

Ripetizione idempotente della connessione Resend creata.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • kindstringobbligatorio
  • ownershipstringobbligatorio

    enum: "customer", "banger"

  • statusstringobbligatorio

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

  • display_namestringobbligatorio
  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobbligatorio
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • verified_domainsarray
  • Ogni elementostring

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

providerConnectionId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • api_keystringobbligatorio

    minLength: 16 · maxLength: 500

  • display_namestring

    maxLength: 100

Risposta di successo 200

Credenziali Resend ruotate.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • kindstringobbligatorio
  • ownershipstringobbligatorio

    enum: "customer", "banger"

  • statusstringobbligatorio

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

  • display_namestringobbligatorio
  • capabilitiesarrayobbligatorio
  • Ogni elementostring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobbligatorio
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • verified_domainsarray
  • Ogni elementostring

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

providerConnectionId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Connessione al provider e credenziali attive revocate.

Nessun corpo della risposta.

Esempio 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'

Domini di invio

GET/v1/workspaces/{workspaceId}/sending-domains

listNativeSendingDomains

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Domini di invio nativi Banger per il workspace.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • domainstringobbligatorio

    Dominio o sottodominio esatto del prodotto. Per default Banger ricava tre sottodomini separati per i canali.

    minLength: 3 · maxLength: 253

  • setup_modestring

    Simple prepara un trasporto di casella per ricevere e inviare dagli indirizzi di casella selezionati, incluse Campagne e Percorsi. Advanced prepara canali di invio separati.

    default: "advanced" · enum: "simple", "advanced"

  • mailbox_modestring

    La configurazione simple usa per default la radice se non viene fornito un prefisso casella; advanced usa un sottodominio. Subdomain conserva la posta esistente del dominio. Migrate richiede Caselle sul dominio esatto. Un dominio o canale esatto occupato richiede una richiesta tramite sending-domain-migrations seguita da autorizzazione nel pannello Approvazioni Banger con accesso effettuato. Le credenziali degli agenti non possono autorizzare la migrazione. Non vengono importati messaggi precedenti e il DNS non viene mai modificato automaticamente.

    enum: "subdomain", "migrate"

  • root_dmarc_confirmedboolean

    Campo di compatibilità legacy; le politiche esistenti sono conservate e la configurazione non richiede conferma.

  • lane_prefixesobject

    Nessuna proprietà aggiuntiva

  • mailboxstring

    minLength: 1 · maxLength: 63 · default: "mail"

  • productstring

    minLength: 1 · maxLength: 63 · default: "tx"

  • broadcaststring

    minLength: 1 · maxLength: 63 · default: "broadcast"

  • route_providersobject

    Resend è accettato solo se Banger lo ha già rilevato nel DNS di questo dominio e il prodotto selezionato ha una connessione attiva. Altrimenti i client non devono mai proporlo.

    Nessuna proprietà aggiuntiva

  • productstring

    default: "banger" · enum: "banger", "resend"

  • broadcaststring

    default: "banger" · enum: "banger", "resend"

  • route_domainsobject

    Domini verificati esatti sincronizzati da Resend. Obbligatori per ogni canale che mantiene Resend.

    Nessuna proprietà aggiuntiva

  • productstring

    minLength: 3 · maxLength: 253

  • broadcaststring

    minLength: 3 · maxLength: 253

Risposta di successo 200

Ripetizione idempotente di una richiesta di dominio di invio nativo Banger.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato attuale del dominio, stream, provisioning e DNS richiesto.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • confirm_domainstringobbligatorio

    Deve corrispondere esattamente al dominio radice da eliminare.

    minLength: 3 · maxLength: 253

Risposta di successo 202

Invio e ricezione interrotti e smantellamento idempotente del provider in coda. Cronologia email e registri di controllo conservati.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obbligatorio
  • valuestring

    format: "uuid"

laneKind
path · obbligatorio
  • valuestring

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

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • confirm_domainstringobbligatorio

    Sottodominio esatto del canale selezionato.

Risposta di successo 202

Solo il canale selezionato viene interrotto e messo in coda per la rimozione. Gli altri canali e la cronologia dei messaggi sono conservati.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obbligatorio
  • valuestring

    format: "uuid"

laneKind
path · obbligatorio
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Il canale selezionato è in pausa senza modificare il suo DNS o un altro canale.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obbligatorio
  • valuestring

    format: "uuid"

laneKind
path · obbligatorio
  • valuestring

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

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Il canale selezionato riprende quando il suo DNS salvato e lo stato del provider sono pronti.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Identità Banger e verifica DNS ricontrollate in sicurezza.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • domain_idstringobbligatorio

    format: "uuid"

  • product_idstringobbligatorio

    format: "uuid"

  • root_domainstringobbligatorio
  • parent_domainstring

    Dominio aziendale conservato quando un canale usa un sottodominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobbligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobbligatorio

    minItems: 1 · maxItems: 3

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobbligatorio

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

  • display_namestringobbligatorio
  • from_domainstringobbligatorio
  • mail_from_domainstring | nullobbligatorio
  • inbound_domainstring | nullobbligatorio
  • route_providerstringobbligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobbligatorio

    format: "uuid"

  • inbound_providerstring | nullobbligatorio

    enum: "banger", null

  • statusstringobbligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobbligatorio
  • desired_revisionintegerobbligatorio

    minimum: 1

  • observed_revisionintegerobbligatorio

    minimum: 0

  • dns_readybooleanobbligatorio
  • provider_readybooleanobbligatorio
  • inbound_readybooleanobbligatorio
  • outbound_readybooleanobbligatorio
  • banger_transport_readybooleanobbligatorio
  • banger_mail_from_domainstring | nullobbligatorio
  • provisioning_job_idstring | nullobbligatorio

    format: "uuid"

  • provisioning_statusstringobbligatorio

    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_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio
  • deletionobject | nullobbligatorio

    Nessuna proprietà aggiuntiva

  • job_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobbligatorio
  • cleanup_recordsarrayobbligatorio

    Record DNS esatti che l’utente può rimuovere al termine dello smantellamento.

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • lane_idstringobbligatorio

    format: "uuid"

  • providerstringobbligatorio

    enum: "banger", "resend"

  • purposestringobbligatorio
  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobbligatorio
  • valuestringobbligatorio
  • priorityinteger | nullobbligatorio
  • requiredbooleanobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

  • errorobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • provider_referencestring | nullobbligatorio

Esempio curl

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

Migrazioni dei domini di invio

POST/v1/workspaces/{workspaceId}/sending-domain-migrations

requestNativeDomainMigration

Fissa la configurazione esatta e il DNS osservato in un’approvazione domain.migrate in attesa. Non prepara risorse. Solo un amministratore autenticato può autorizzarla tramite il pannello Approvazioni; credenziali degli agenti e revisione automatica sono rifiutate. L’autorizzazione ricontrolla atomicamente l’istantanea DNS e prepara il dominio approvato.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • domainstringobbligatorio

    Dominio o sottodominio esatto del prodotto. Per default Banger ricava tre sottodomini separati per i canali.

    minLength: 3 · maxLength: 253

  • setup_modestring

    Simple prepara un trasporto di casella per ricevere e inviare dagli indirizzi di casella selezionati, incluse Campagne e Percorsi. Advanced prepara canali di invio separati.

    default: "advanced" · enum: "simple", "advanced"

  • mailbox_modestring

    La configurazione simple usa per default la radice se non viene fornito un prefisso casella; advanced usa un sottodominio. Subdomain conserva la posta esistente del dominio. Migrate richiede Caselle sul dominio esatto. Un dominio o canale esatto occupato richiede una richiesta tramite sending-domain-migrations seguita da autorizzazione nel pannello Approvazioni Banger con accesso effettuato. Le credenziali degli agenti non possono autorizzare la migrazione. Non vengono importati messaggi precedenti e il DNS non viene mai modificato automaticamente.

    enum: "subdomain", "migrate"

  • root_dmarc_confirmedboolean

    Campo di compatibilità legacy; le politiche esistenti sono conservate e la configurazione non richiede conferma.

  • lane_prefixesobject

    Nessuna proprietà aggiuntiva

  • mailboxstring

    minLength: 1 · maxLength: 63 · default: "mail"

  • productstring

    minLength: 1 · maxLength: 63 · default: "tx"

  • broadcaststring

    minLength: 1 · maxLength: 63 · default: "broadcast"

  • route_providersobject

    Resend è accettato solo se Banger lo ha già rilevato nel DNS di questo dominio e il prodotto selezionato ha una connessione attiva. Altrimenti i client non devono mai proporlo.

    Nessuna proprietà aggiuntiva

  • productstring

    default: "banger" · enum: "banger", "resend"

  • broadcaststring

    default: "banger" · enum: "banger", "resend"

  • route_domainsobject

    Domini verificati esatti sincronizzati da Resend. Obbligatori per ogni canale che mantiene Resend.

    Nessuna proprietà aggiuntiva

  • productstring

    minLength: 3 · maxLength: 253

  • broadcaststring

    minLength: 3 · maxLength: 253

Risposta di successo 200

Richiesta di migrazione esistente restituita in modo idempotente.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • requested_by_actor_idstringobbligatorio
  • action_kindstringobbligatorio
  • summarystringobbligatorio
  • capability_scopesarrayobbligatorio
  • Ogni elementostring
  • resource_scopeobjectobbligatorio
  • Proprietà aggiuntivaarray
  • Ogni elementostring
  • payloadobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • payload_sha256stringobbligatorio

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

  • statusstringobbligatorio

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

  • missedbooleanobbligatorio
  • expires_atstringobbligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Nessuna proprietà aggiuntiva

  • dispositionstringobbligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobbligatorio

    minimum: 0

  • reasonsarrayobbligatorio
  • Ogni elementostring
  • checksarrayobbligatorio
  • Ogni elementostring

Esempio 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"
  }
}'

Webhook

GET/v1/workspaces/{workspaceId}/webhooks

Elenca le fonti degli eventi in ingresso e le destinazioni degli eventi in uscita.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Endpoint webhook del workspace.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • kindstringobbligatorio

    enum: "outbound", "inbound"

  • source_keystringobbligatorio

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

  • namestringobbligatorio
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobbligatorio

    enum: "active", "disabled", "error"

  • event_typesarrayobbligatorio
  • Ogni elementostring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobbligatorio

    minimum: 0

  • failed_countintegerobbligatorio

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio curl

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

Crea una destinazione firmata con nuovi tentativi o una fonte idempotente di eventi in ingresso.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • kindstringobbligatorio

    enum: "outbound", "inbound"

  • namestringobbligatorio

    minLength: 1 · maxLength: 120

  • source_keystring

    banger_api è riservato al webhook creato da POST /events.

    pattern: "^[a-z0-9][a-z0-9_-]{0,62}$" · default: "custom"

  • source_configobject

    Valutazione deterministica degli eventi e mappatura della consegna specifiche della fonte. Supportate per Zendesk e Supabase Auth.

    Nessuna proprietà aggiuntiva

  • vip_tagsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Ogni elementostring

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

  • sla_warning_minutesinteger

    minimum: 1 · maximum: 10080

  • project_urlstring

    URL del progetto Supabase.

    format: "uri"

  • mailbox_idstring

    Indirizzo di invio Banger attivo usato per le email Supabase Auth.

    format: "uuid"

  • template_idsobject

    Modello Banger selezionato per ogni azione email Supabase Auth.

    Nessuna proprietà aggiuntiva

  • signupstringobbligatorio

    format: "uuid"

  • invitestringobbligatorio

    format: "uuid"

  • magiclinkstringobbligatorio

    format: "uuid"

  • recoverystringobbligatorio

    format: "uuid"

  • email_changestringobbligatorio

    format: "uuid"

  • reauthenticationstringobbligatorio

    format: "uuid"

  • password_changed_notificationstringobbligatorio

    format: "uuid"

  • email_changed_notificationstringobbligatorio

    format: "uuid"

  • phone_changed_notificationstringobbligatorio

    format: "uuid"

  • identity_linked_notificationstringobbligatorio

    format: "uuid"

  • identity_unlinked_notificationstringobbligatorio

    format: "uuid"

  • mfa_factor_enrolled_notificationstringobbligatorio

    format: "uuid"

  • mfa_factor_unenrolled_notificationstringobbligatorio

    format: "uuid"

  • signing_secretstring

    Segreto Supabase Send Email Hook. Accettato solo per una fonte Supabase in ingresso e crittografato a riposo.

    minLength: 20 · maxLength: 500

  • endpoint_urlstring

    Obbligatorio solo per destinazioni in uscita.

    format: "uri"

  • event_typesarray

    Eventi da inviare. Se omessi, un endpoint in uscita riceve gli eventi di attività predefiniti; gli eventi specifici (mail.received, mail.sent, send.*, journey.*) vengono inviati solo se elencati. * invia tutto, incluso send.delivered ad alto volume.

    minItems: 1 · maxItems: 100 · uniqueItems: true

  • Ogni elementostring

    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"

Risposta di successo 201

Webhook creato. I segreti di firma in uscita vengono mostrati una volta; i chiamanti autorizzati possono riaprire le opzioni di credenziali in ingresso.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • kindstringobbligatorio

    enum: "outbound", "inbound"

  • source_keystringobbligatorio

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

  • namestringobbligatorio
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobbligatorio

    enum: "active", "disabled", "error"

  • event_typesarrayobbligatorio
  • Ogni elementostring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobbligatorio

    minimum: 0

  • failed_countintegerobbligatorio

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • signing_secretstring

    Segreto di firma delle richieste in uscita

  • source_urlstring

    URL degli eventi in ingresso contenente il suo segreto non indovinabile.

    format: "uri"

  • webhook_urlstring

    URL pubblico in ingresso da usare con l’header Authorization.

    format: "uri"

  • bearer_tokenstring

    Token segreto dell’endpoint da inviare come Authorization Bearer.

Esempio 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}

Disattiva un webhook o riattivane uno disattivato o non funzionante, senza ruotare endpoint o segreto.

La disattivazione interrompe le consegne o gli eventi di automazione in ingresso e conserva il webhook, il suo nome e la sua cronologia. Disattivare un webhook in ingresso disattiva anche la connessione, quindi i Percorsi che attiva smettono di ricevere eventi finché non viene riattivato. Per rimuovere un webhook definitivamente, eliminalo.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

endpointId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • statusstringobbligatorio

    enum: "active", "disabled"

Risposta di successo 200

Webhook riattivato o disattivato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • kindstringobbligatorio

    enum: "outbound", "inbound"

  • source_keystringobbligatorio

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

  • namestringobbligatorio
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobbligatorio

    enum: "active", "disabled", "error"

  • event_typesarrayobbligatorio
  • Ogni elementostring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobbligatorio

    minimum: 0

  • failed_countintegerobbligatorio

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

Esempio 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}

Elimina definitivamente un webhook affinché il suo nome possa essere riutilizzato.

Un endpoint in uscita viene eliminato con la cronologia di consegna. Un webhook in ingresso viene eliminato con la sua connessione, e solo se nessun Percorso, inclusi quelli archiviati, usa tale connessione come trigger o obiettivo. Per interrompere e conservare un webhook, usa invece PATCH impostando status a disabled.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

endpointId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Webhook eliminato.

Nessun corpo della risposta.

Esempio 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

Riapri le opzioni di credenziali esistenti di un webhook in ingresso attivo.

Richiede automation:execute. Restituisce lo stesso segreto senza creare o ruotare risorse. Non memorizzare mai in cache né registrare questa risposta.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

endpointId
path · obbligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header

Obbligatorio salvo che la chiave API autenticata sia già vincolata al prodotto.

  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

URL sorgente privato, URL webhook pubblico e token bearer separato.

application/json

  • valueobject
  • datanon specificato
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • kindstringobbligatorio

    enum: "outbound", "inbound"

  • source_keystringobbligatorio

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

  • namestringobbligatorio
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobbligatorio

    enum: "active", "disabled", "error"

  • event_typesarrayobbligatorio
  • Ogni elementostring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobbligatorio

    minimum: 0

  • failed_countintegerobbligatorio

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobbligatorio

    format: "date-time"

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • signing_secretstring

    Segreto di firma delle richieste in uscita

  • source_urlstring

    URL degli eventi in ingresso contenente il suo segreto non indovinabile.

    format: "uri"

  • webhook_urlstring

    URL pubblico in ingresso da usare con l’header Authorization.

    format: "uri"

  • bearer_tokenstring

    Token segreto dell’endpoint da inviare come Authorization Bearer.

Esempio 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

Elenca i tentativi di consegna recenti e gli esiti HTTP di un webhook in uscita.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

endpointId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Tentativi di consegna recenti.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • event_typestringobbligatorio
  • statusstringobbligatorio

    enum: "pending", "delivering", "delivered", "failed"

  • attempt_countintegerobbligatorio

    minimum: 0

  • http_statusinteger | null

    minimum: 100 · maximum: 599

  • last_error_codestring | null
  • delivered_atstring | null

    format: "date-time"

  • created_atstringobbligatorio

    format: "date-time"

Esempio 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

Metti in coda un evento sintetico firmato tramite il normale percorso di consegna con nuovi tentativi.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

endpointId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 202

Evento di test firmato in coda.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

Esempio curl

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

Configurazione iniziale

PUT/v1/workspaces/{workspaceId}/onboarding/path

selectOnboardingPath

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • pathstringobbligatorio

    enum: "starter_identity", "company_domain", "resend_gateway", "banger_native_sending", "work_mailbox", "gmail", "native_mailbox", "existing_provider"

Risposta di successo 200

Percorso di configurazione iniziale autorevole del server selezionato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • pathstringobbligatorio

    enum: "starter_identity", "company_domain", "resend_gateway", "banger_native_sending", "work_mailbox", "gmail", "native_mailbox", "existing_provider"

Esempio 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

Leggi la configurazione canonica (connessione, brand, dominio) senza creare risorse o inviare email.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header

Prodotto selezionato. Obbligatorio se esistono più prodotti attivi.

  • valuestring

    format: "uuid"

details
query

Includi bozze modificabili, brand e record DNS autorevoli.

  • valueinteger

    enum: 1

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Avanzamento salvato e funzionalità verificate indipendentemente.

application/json

  • valueobject
  • dataobjectobbligatorio
  • product_idstringobbligatorio

    format: "uuid"

  • lessonobject
  • stepstringobbligatorio
  • purposestringobbligatorio
  • setupstringobbligatorio
  • boundarystringobbligatorio
  • example_requeststringobbligatorio
  • resultstringobbligatorio
  • choicestringobbligatorio
  • skipstring | nullobbligatorio
  • guidancestring
  • current_stepstringobbligatorio

    enum: "connect", "business", "identity", "sending"

  • completed_countintegerobbligatorio
  • total_stepsintegerobbligatorio

    enum: 4

  • setupobject

    Blocco di configurazione web e banner per completarla. Ogni parte è complete, verifying (record del dominio aggiunti, DNS ancora in verifica), skipped o missing.

  • connectstringobbligatorio

    enum: "complete", "skipped", "missing"

  • brandstringobbligatorio

    enum: "complete", "skipped", "missing"

  • domainstringobbligatorio

    enum: "complete", "verifying", "skipped", "missing"

  • gate_openbooleanobbligatorio

    True finché brand o dominio non sono stati completati né saltati.

  • missingarrayobbligatorio

    Parti saltate o mai completate

  • Ogni elementostring

    enum: "connect", "brand", "domain"

  • unlock_video_dueboolean

    True dalla verifica di un dominio finché il workspace non ha visto il video "cosa puoi fare ora".

  • agent_client_namestring | null

    L’app IA collegata

  • completebooleanobbligatorio
  • shared_education_completeboolean
  • outcomestringobbligatorio

    enum: "in_progress", "production_deferred", "production_ready"

  • recommended_actionstringobbligatorio
  • readinessobjectobbligatorio
  • Proprietà aggiuntivaboolean
  • progressobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • titlestringobbligatorio
  • explanationstring
  • statusstringobbligatorio

    enum: "not_started", "in_progress", "waiting", "needs_attention", "complete", "skipped"

  • blocking_dependencystring | null
  • recommended_actionstring
  • actionsarrayobbligatorio
  • Ogni elementostring
  • resource_idsarrayobbligatorio
  • Ogni elementostring
  • evidenceobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Esegui un’azione esplicita di configurazione iniziale sicura da ripetere per il prodotto selezionato.

Gli invii sono destinati solo all’indirizzo di iscrizione verificato dell’utente che autorizza. I Percorsi restano inattivi e le Campagne non inviate. Si applicano i confini di approvazione di migrazione esistenti.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header

Prodotto selezionato. Obbligatorio se esistono più prodotti attivi.

  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • actionstringobbligatorio

    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

    Campi aziendali company_name, primary_goal, website_url e brand; campi della bozza name, subject, preview_text, body_text ed edit; campi di identità domain e local_part. Non è mai accettato input di destinatari.

  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Stato canonico aggiornato dopo l’operazione richiesta.

application/json

  • valueobject
  • dataobjectobbligatorio
  • product_idstringobbligatorio

    format: "uuid"

  • lessonobject
  • stepstringobbligatorio
  • purposestringobbligatorio
  • setupstringobbligatorio
  • boundarystringobbligatorio
  • example_requeststringobbligatorio
  • resultstringobbligatorio
  • choicestringobbligatorio
  • skipstring | nullobbligatorio
  • guidancestring
  • current_stepstringobbligatorio

    enum: "connect", "business", "identity", "sending"

  • completed_countintegerobbligatorio
  • total_stepsintegerobbligatorio

    enum: 4

  • setupobject

    Blocco di configurazione web e banner per completarla. Ogni parte è complete, verifying (record del dominio aggiunti, DNS ancora in verifica), skipped o missing.

  • connectstringobbligatorio

    enum: "complete", "skipped", "missing"

  • brandstringobbligatorio

    enum: "complete", "skipped", "missing"

  • domainstringobbligatorio

    enum: "complete", "verifying", "skipped", "missing"

  • gate_openbooleanobbligatorio

    True finché brand o dominio non sono stati completati né saltati.

  • missingarrayobbligatorio

    Parti saltate o mai completate

  • Ogni elementostring

    enum: "connect", "brand", "domain"

  • unlock_video_dueboolean

    True dalla verifica di un dominio finché il workspace non ha visto il video "cosa puoi fare ora".

  • agent_client_namestring | null

    L’app IA collegata

  • completebooleanobbligatorio
  • shared_education_completeboolean
  • outcomestringobbligatorio

    enum: "in_progress", "production_deferred", "production_ready"

  • recommended_actionstringobbligatorio
  • readinessobjectobbligatorio
  • Proprietà aggiuntivaboolean
  • progressobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • stepsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio
  • titlestringobbligatorio
  • explanationstring
  • statusstringobbligatorio

    enum: "not_started", "in_progress", "waiting", "needs_attention", "complete", "skipped"

  • blocking_dependencystring | null
  • recommended_actionstring
  • actionsarrayobbligatorio
  • Ogni elementostring
  • resource_idsarrayobbligatorio
  • Ogni elementostring
  • evidenceobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • Proprietà aggiuntivaQualsiasi valore

Esempio 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

Riprendi il percorso di configurazione iniziale condiviso tra browser e MCP.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato attuale di configurazione iniziale gestito dal server.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Seleziona l’accesso guidato dall’agente o l’alternativa browser.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • entry_surfacestringobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser"

  • client_namestring

    minLength: 1 · maxLength: 100

Risposta di successo 200

Percorso avviato o ripreso.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Crea in modo idempotente la casella ospitata permanente e avvia il suo test reale di andata e ritorno del messaggio di benvenuto.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Casella ospitata e prova esistente riprese.

application/json

  • valueobject
  • dataobjectobbligatorio
  • proof_idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • mailbox_addressstringobbligatorio

    format: "email"

  • command_idstringobbligatorio

    format: "uuid"

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobbligatorio
  • receive_completebooleanobbligatorio
  • round_trip_check_completebooleanobbligatorio
  • agent_check_completebooleanobbligatorio
  • completebooleanobbligatorio
  • expected_subjectstringobbligatorio
  • expected_body_textstringobbligatorio
  • 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
  • replayedbooleanobbligatorio

Esempio 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

Invia la prova della connessione dell’agente vincolata a OAuth alla casella ospitata canonica.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

La stessa autorizzazione OAuth ha ripetuto o già completato la prova.

application/json

  • valueobject
  • dataobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "verified"

  • attempt_idstringobbligatorio

    format: "uuid"

  • oauth_grant_idstringobbligatorio
  • oauth_client_idstring | nullobbligatorio
  • client_namestring | nullobbligatorio
  • mailbox_idstringobbligatorio

    format: "uuid"

  • mailbox_addressstringobbligatorio

    format: "email"

  • expected_subjectstringobbligatorio
  • initiated_atstringobbligatorio

    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"

Esempio 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

Registra una scelta esplicita di configurazione iniziale progressiva.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • decisionstringobbligatorio

    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
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

La scelta viene salvata nel percorso canonico.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Salva la decisione iniziale dell’utente su dominio aziendale o nessun dominio ed esegui il rilevamento canonico.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • choicestringobbligatorio

    enum: "company_domain", "no_domain"

  • domainstring

    minLength: 3 · maxLength: 253

Risposta di successo 200

Decisione sul dominio salvata e percorso ripreso.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Archivia il contesto aziendale revisionato fornito dal browser o dall’agente collegato.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • company_domainstring

    Ponte di compatibilità per connettori in cache precedenti a chooseAgentOnboardingDomain. L’agente deve comunque chiedere prima all’utente.

    minLength: 3 · maxLength: 253

  • client_namestring

    minLength: 1 · maxLength: 100

Risposta di successo 200

Contesto accettato.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Archivia le scelte personalizzate dei passaggi successivi dopo il successo dell’attivazione email reale.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • opportunitiesarrayobbligatorio

    minItems: 1 · maxItems: 100

  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Piano delle opportunità accettato.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Registra gli artefatti revisionati preparati dal piano delle opportunità.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Riepilogo dell’implementazione registrato.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Approva la mappa delle opportunità proposta prima che l’agente prepari modifiche sensibili.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Piano delle opportunità approvato dall’amministratore autenticato del workspace.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Deriva la validazione deterministica dell’attivazione dallo stato delle prove di proprietà di Banger.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • summaryobject
  • Proprietà aggiuntivaQualsiasi valore

Risposta di successo 200

Risultato della validazione registrato.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Completa la configurazione iniziale dopo il successo della validazione deterministica.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Configurazione iniziale completata.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • workspace_idstringobbligatorio

    format: "uuid"

  • statusstringobbligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobbligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobbligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobbligatorio
  • domain_choicestringobbligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobbligatorio
  • domain_chosen_atstring | nullobbligatorio

    format: "date-time"

  • business_contextobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • opportunity_planarrayobbligatorio
  • Ogni elementoobject
  • Proprietà aggiuntivaQualsiasi valore
  • implementation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • validation_summaryobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • journey_metadataobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • context_reviewed_atstring | nullobbligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobbligatorio

    format: "date-time"

  • plan_approved_atstring | nullobbligatorio

    format: "date-time"

  • completed_atstring | nullobbligatorio

    format: "date-time"

  • versionintegerobbligatorio

    format: "int64" · minimum: 1

  • updated_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoverynon specificatoobbligatorio
  • oneOf 1object
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio

    Ulteriore annidamento omesso

  • website_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

    Ulteriore annidamento omesso

  • company_namestringobbligatorio

    Ulteriore annidamento omesso

  • summarystringobbligatorio

    Ulteriore annidamento omesso

  • audiencestringobbligatorio

    Ulteriore annidamento omesso

  • offeringsarrayobbligatorio

    Ulteriore annidamento omesso

  • logo_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • favicon_urlstring | nullobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • visual_identityobjectobbligatorio

    Ulteriore annidamento omesso

  • source_snapshotobjectobbligatorio

    Ulteriore annidamento omesso

  • dns_signalsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • oneOf 2null

    Ulteriore annidamento omesso

  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

    Ulteriore annidamento omesso

  • limitationsarrayobbligatorio
  • Ogni elementostring

    Ulteriore annidamento omesso

  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • domain_bundleobject | nullobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • growthobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • activationobjectobbligatorio
  • modestringobbligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobbligatorio

    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 | nullobbligatorio
  • sending_domain_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_idstring | nullobbligatorio

    format: "uuid"

  • mailbox_addressstring | nullobbligatorio

    format: "email"

  • exact_dns_recordsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • lane_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • providerstringobbligatorio

    enum: "banger", "resend"

    Ulteriore annidamento omesso

  • purposestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "TXT", "MX", "CNAME"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • priorityinteger | nullobbligatorio

    Ulteriore annidamento omesso

  • requiredbooleanobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "verified", "error"

    Ulteriore annidamento omesso

  • provider_statusstringobbligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Ulteriore annidamento omesso

  • first_observed_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • last_checked_atstring | nullobbligatorio

    format: "date-time"

    Ulteriore annidamento omesso

  • errorobjectobbligatorio

    Ulteriore annidamento omesso

  • provider_referencestring | nullobbligatorio

    Ulteriore annidamento omesso

  • checkpointsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Ulteriore annidamento omesso

  • labelstringobbligatorio

    Ulteriore annidamento omesso

  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • lanesobjectobbligatorio
  • mailboxobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • transactionalobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • marketingobjectobbligatorio
  • statusstringobbligatorio

    enum: "pending", "working", "action_required", "verified"

    Ulteriore annidamento omesso

  • detailstringobbligatorio

    Ulteriore annidamento omesso

  • proofnon specificatoobbligatorio
  • oneOf 1object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • command_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • round_trip_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • expected_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • expected_body_textstringobbligatorio

    Ulteriore annidamento omesso

  • received_message_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_thread_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • received_subjectstring

    Ulteriore annidamento omesso

  • received_body_textstring

    Ulteriore annidamento omesso

  • received_atstring

    format: "date-time"

    Ulteriore annidamento omesso

  • agent_labelstring

    Ulteriore annidamento omesso

  • agent_suggested_actionstring

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 2object
  • proof_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • native_domain_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_idstringobbligatorio

    format: "uuid"

    Ulteriore annidamento omesso

  • mailbox_addressstringobbligatorio

    format: "email"

    Ulteriore annidamento omesso

  • transactional_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • marketing_send_intent_idstring

    format: "uuid"

    Ulteriore annidamento omesso

  • transactional_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • marketing_subjectstringobbligatorio

    Ulteriore annidamento omesso

  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Ulteriore annidamento omesso

  • send_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • transactional_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • marketing_receivedbooleanobbligatorio

    Ulteriore annidamento omesso

  • receive_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • agent_check_completebooleanobbligatorio

    Ulteriore annidamento omesso

  • completebooleanobbligatorio

    Ulteriore annidamento omesso

  • error_codestring

    Ulteriore annidamento omesso

  • replayedbooleanobbligatorio

    Ulteriore annidamento omesso

  • oneOf 3null
  • overall_readybooleanobbligatorio
  • production_readybooleanobbligatorio
  • completedbooleanobbligatorio
  • pendingbooleanobbligatorio
  • next_actionstringobbligatorio

    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_requiredobjectobbligatorio
  • typestringobbligatorio
  • requiredbooleanobbligatorio
  • actionstringobbligatorio

    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 | nullobbligatorio

    format: "uri"

  • instructionsstring | nullobbligatorio
  • secure_urlstring | nullobbligatorio

    format: "uri"

  • mcp_urlstringobbligatorio

    format: "uri"

  • dashboard_urlstringobbligatorio

    format: "uri"

Esempio 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

Leggi lo stato persistente di un test di andata e ritorno di un indirizzo iniziale.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

mailbox_id
query · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato attuale della prova.

application/json

  • valueobject
  • dataobjectobbligatorio
  • proof_idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • mailbox_addressstringobbligatorio

    format: "email"

  • command_idstringobbligatorio

    format: "uuid"

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobbligatorio
  • receive_completebooleanobbligatorio
  • round_trip_check_completebooleanobbligatorio
  • agent_check_completebooleanobbligatorio
  • completebooleanobbligatorio
  • expected_subjectstringobbligatorio
  • expected_body_textstringobbligatorio
  • 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
  • replayedbooleanobbligatorio

Esempio 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

Avvia o riprendi una prova reale di invio e ricezione per un indirizzo iniziale.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • mailbox_idstringobbligatorio

    format: "uuid"

Risposta di successo 200

La prova esistente è stata ripresa.

application/json

  • valueobject
  • dataobjectobbligatorio
  • proof_idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • mailbox_addressstringobbligatorio

    format: "email"

  • command_idstringobbligatorio

    format: "uuid"

  • phasestringobbligatorio

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobbligatorio
  • receive_completebooleanobbligatorio
  • round_trip_check_completebooleanobbligatorio
  • agent_check_completebooleanobbligatorio
  • completebooleanobbligatorio
  • expected_subjectstringobbligatorio
  • expected_body_textstringobbligatorio
  • 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
  • replayedbooleanobbligatorio

Esempio 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

Leggi lo stato persistente dei controlli dell’infrastruttura del dominio.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Stato attuale della prova.

application/json

  • valueobject
  • dataobjectobbligatorio
  • proof_idstringobbligatorio

    format: "uuid"

  • domain_idstringobbligatorio

    format: "uuid"

  • native_domain_idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • mailbox_addressstringobbligatorio

    format: "email"

  • transactional_send_intent_idstring

    format: "uuid"

  • marketing_send_intent_idstring

    format: "uuid"

  • transactional_subjectstringobbligatorio
  • marketing_subjectstringobbligatorio
  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

  • send_completebooleanobbligatorio
  • transactional_receivedbooleanobbligatorio
  • marketing_receivedbooleanobbligatorio
  • receive_completebooleanobbligatorio
  • agent_check_completebooleanobbligatorio
  • completebooleanobbligatorio
  • error_codestring
  • replayedbooleanobbligatorio

Esempio 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

Avvia o riprendi due controlli reali di invio e ricezione per l’infrastruttura Banger verificata.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • native_domain_idstringobbligatorio

    format: "uuid"

Risposta di successo 200

La prova esistente è stata ripresa.

application/json

  • valueobject
  • dataobjectobbligatorio
  • proof_idstringobbligatorio

    format: "uuid"

  • domain_idstringobbligatorio

    format: "uuid"

  • native_domain_idstringobbligatorio

    format: "uuid"

  • mailbox_idstringobbligatorio

    format: "uuid"

  • mailbox_addressstringobbligatorio

    format: "email"

  • transactional_send_intent_idstring

    format: "uuid"

  • marketing_send_intent_idstring

    format: "uuid"

  • transactional_subjectstringobbligatorio
  • marketing_subjectstringobbligatorio
  • phasestringobbligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

  • send_completebooleanobbligatorio
  • transactional_receivedbooleanobbligatorio
  • marketing_receivedbooleanobbligatorio
  • receive_completebooleanobbligatorio
  • agent_check_completebooleanobbligatorio
  • completebooleanobbligatorio
  • error_codestring
  • replayedbooleanobbligatorio

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • goalstringobbligatorio

    enum: "work_inbox", "product_email", "campaign", "company_workflow"

Risposta di successo 200

Primo risultato selezionato; l’esecuzione guidata può aprirsi nell’interfaccia del prodotto.

application/json

  • valueobject
  • dataobjectobbligatorio
  • goalstringobbligatorio

    enum: "work_inbox", "product_email", "campaign", "company_workflow"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Rilevamento attuale dell’azienda e del sistema email.

application/json

  • valueobject
  • dataobjectobbligatorio
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio
  • website_urlstring | nullobbligatorio

    format: "uri"

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

  • company_namestringobbligatorio
  • summarystringobbligatorio
  • audiencestringobbligatorio
  • offeringsarrayobbligatorio
  • Ogni elementostring
  • logo_urlstring | nullobbligatorio

    format: "uri"

  • favicon_urlstring | nullobbligatorio

    format: "uri"

  • visual_identityobjectobbligatorio
  • colorsarrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • fontsarrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • tonearrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • source_confidencestringobbligatorio

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobbligatorio

    maxItems: 6

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • rolestringobbligatorio

    enum: "primary", "accent", "background", "surface", "text", "other"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typographyarrayobbligatorio

    maxItems: 6

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • familystringobbligatorio

    Ulteriore annidamento omesso

  • rolestringobbligatorio

    enum: "heading", "body", "mono", "other"

    Ulteriore annidamento omesso

  • weightsarrayobbligatorio

    Ulteriore annidamento omesso

  • assetsarrayobbligatorio

    maxItems: 8

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • urlstringobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • kindstringobbligatorio

    enum: "logo", "wordmark", "favicon", "hero"

    Ulteriore annidamento omesso

  • sourcestringobbligatorio

    Ulteriore annidamento omesso

  • brand_summarystringobbligatorio
  • imagery_stylearrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • source_snapshotobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • dns_signalsarrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio
  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobbligatorio
  • ttlintegerobbligatorio

    minimum: 0

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • confidencestringobbligatorio

    enum: "high", "medium", "low"

  • dashboard_urlstringobbligatorio

    format: "uri"

  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • oneOf 2null
  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio
  • namestringobbligatorio
  • categoriesarrayobbligatorio
  • Ogni elementostring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobbligatorio

    enum: "high", "medium", "low"

  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject
  • kindstringobbligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobbligatorio
  • statusstringobbligatorio

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobbligatorio
  • Ogni elementostring
  • recommendationstringobbligatorio

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • capabilitystringobbligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobbligatorio

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobbligatorio
  • Ogni elementostring
  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • domainstringobbligatorio

    minLength: 3 · maxLength: 253

  • stream_kindstring

    default: "default" · enum: "default", "transactional", "marketing"

Risposta di successo 201

Rilevamento DNS pubblico e sito completato e salvato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio
  • website_urlstring | nullobbligatorio

    format: "uri"

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

  • company_namestringobbligatorio
  • summarystringobbligatorio
  • audiencestringobbligatorio
  • offeringsarrayobbligatorio
  • Ogni elementostring
  • logo_urlstring | nullobbligatorio

    format: "uri"

  • favicon_urlstring | nullobbligatorio

    format: "uri"

  • visual_identityobjectobbligatorio
  • colorsarrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • fontsarrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • tonearrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • source_confidencestringobbligatorio

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobbligatorio

    maxItems: 6

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • rolestringobbligatorio

    enum: "primary", "accent", "background", "surface", "text", "other"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typographyarrayobbligatorio

    maxItems: 6

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • familystringobbligatorio

    Ulteriore annidamento omesso

  • rolestringobbligatorio

    enum: "heading", "body", "mono", "other"

    Ulteriore annidamento omesso

  • weightsarrayobbligatorio

    Ulteriore annidamento omesso

  • assetsarrayobbligatorio

    maxItems: 8

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • urlstringobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • kindstringobbligatorio

    enum: "logo", "wordmark", "favicon", "hero"

    Ulteriore annidamento omesso

  • sourcestringobbligatorio

    Ulteriore annidamento omesso

  • brand_summarystringobbligatorio
  • imagery_stylearrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • source_snapshotobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • dns_signalsarrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio
  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobbligatorio
  • ttlintegerobbligatorio

    minimum: 0

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • confidencestringobbligatorio

    enum: "high", "medium", "low"

  • dashboard_urlstringobbligatorio

    format: "uri"

  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • oneOf 2null
  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio
  • namestringobbligatorio
  • categoriesarrayobbligatorio
  • Ogni elementostring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobbligatorio

    enum: "high", "medium", "low"

  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject
  • kindstringobbligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobbligatorio
  • statusstringobbligatorio

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobbligatorio
  • Ogni elementostring
  • recommendationstringobbligatorio

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • capabilitystringobbligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobbligatorio

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobbligatorio
  • Ogni elementostring
  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • company_namestringobbligatorio

    minLength: 1 · maxLength: 200

  • summarystringobbligatorio

    minLength: 1 · maxLength: 4000

  • audiencestring

    maxLength: 2000

  • offeringsarray

    maxItems: 8

  • Ogni elementostring

    maxLength: 120

  • website_urlstring | null

    format: "uri"

  • connection_planarrayobbligatorio

    maxItems: 30

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • capabilitystringobbligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobbligatorio

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

Risposta di successo 200

Contesto aziendale e piano di connessione suggerito confermati.

application/json

  • valueobject
  • dataobjectobbligatorio
  • domainstringobbligatorio
  • scan_statusstringobbligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobbligatorio
  • domainstringobbligatorio
  • website_urlstring | nullobbligatorio

    format: "uri"

  • website_statusstringobbligatorio

    enum: "available", "missing", "blocked", "error"

  • company_namestringobbligatorio
  • summarystringobbligatorio
  • audiencestringobbligatorio
  • offeringsarrayobbligatorio
  • Ogni elementostring
  • logo_urlstring | nullobbligatorio

    format: "uri"

  • favicon_urlstring | nullobbligatorio

    format: "uri"

  • visual_identityobjectobbligatorio
  • colorsarrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • fontsarrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • tonearrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • source_confidencestringobbligatorio

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobbligatorio

    maxItems: 6

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • rolestringobbligatorio

    enum: "primary", "accent", "background", "surface", "text", "other"

    Ulteriore annidamento omesso

  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typographyarrayobbligatorio

    maxItems: 6

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • familystringobbligatorio

    Ulteriore annidamento omesso

  • rolestringobbligatorio

    enum: "heading", "body", "mono", "other"

    Ulteriore annidamento omesso

  • weightsarrayobbligatorio

    Ulteriore annidamento omesso

  • assetsarrayobbligatorio

    maxItems: 8

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • urlstringobbligatorio

    format: "uri"

    Ulteriore annidamento omesso

  • kindstringobbligatorio

    enum: "logo", "wordmark", "favicon", "hero"

    Ulteriore annidamento omesso

  • sourcestringobbligatorio

    Ulteriore annidamento omesso

  • brand_summarystringobbligatorio
  • imagery_stylearrayobbligatorio

    maxItems: 6

  • Ogni elementostring
  • source_snapshotobjectobbligatorio
  • Proprietà aggiuntivaQualsiasi valore
  • dns_signalsarrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio
  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobbligatorio
  • ttlintegerobbligatorio

    minimum: 0

  • dns_providernon specificatoobbligatorio
  • oneOf 1object

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • confidencestringobbligatorio

    enum: "high", "medium", "low"

  • dashboard_urlstringobbligatorio

    format: "uri"

  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • oneOf 2null
  • provider_detectionsarrayobbligatorio
  • Ogni elementoobject
  • keystringobbligatorio
  • namestringobbligatorio
  • categoriesarrayobbligatorio
  • Ogni elementostring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobbligatorio

    enum: "high", "medium", "low"

  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • capability_summaryarrayobbligatorio
  • Ogni elementoobject
  • kindstringobbligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobbligatorio
  • statusstringobbligatorio

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobbligatorio
  • Ogni elementostring
  • recommendationstringobbligatorio

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • keystringobbligatorio
  • namestringobbligatorio
  • categorystringobbligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobbligatorio

    enum: "required", "recommended"

  • reasonstringobbligatorio
  • sourcestringobbligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobbligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobbligatorio
  • provider_keystring
  • evidencearrayobbligatorio
  • Ogni elementoobject
  • namestringobbligatorio

    Ulteriore annidamento omesso

  • typestringobbligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Ulteriore annidamento omesso

  • valuestringobbligatorio

    Ulteriore annidamento omesso

  • ttlintegerobbligatorio

    minimum: 0

    Ulteriore annidamento omesso

  • connection_planarrayobbligatorio
  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • capabilitystringobbligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobbligatorio

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobbligatorio
  • Ogni elementostring
  • scanned_atstringobbligatorio

    format: "date-time"

  • confirmed_atstring | nullobbligatorio

    format: "date-time"

Esempio 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

Conferma la connessione OAuth attuale dell’agente

Richiede le credenziali OAuth installate nel client agente attuale e l’ambito automation:read.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • statusstringobbligatorio

    enum: "connected"

  • messagestringobbligatorio
  • workspace_idstringobbligatorio

    format: "uuid"

  • client_namestringobbligatorio
  • confirmed_atstringobbligatorio

    format: "date-time"

Esempio curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/confirm-connection' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Accesso

GET/v1/workspaces/{workspaceId}/access

Elenca membri del workspace e inviti attivi.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Directory del workspace.

application/json

  • valueobject
  • dataobjectobbligatorio
  • actorIdstringobbligatorio
  • identitiesarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • userIdstringobbligatorio
  • emailstring

    format: "email"

  • displayNamestring
  • kindstringobbligatorio

    const: "user"

  • rolestringobbligatorio

    enum: "owner", "admin", "member", "viewer"

  • statusstringobbligatorio

    enum: "active", "suspended"

  • pendingInvitationsarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • codestringobbligatorio

    format: "uuid"

  • inviteCodestring

    format: "uuid"

  • invitedEmailstring

    format: "email"

  • workspaceIdstringobbligatorio

    format: "uuid"

  • workspaceNamestringobbligatorio
  • rolestringobbligatorio

    enum: "admin", "member", "viewer"

  • accessScopestring

    const: "workspace"

  • statusstringobbligatorio

    enum: "pending", "accepted"

  • expiresAtstringobbligatorio

    format: "date-time"

  • notificationSentboolean

Esempio curl

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

Inviti

POST/v1/workspaces/{workspaceId}/invitations

Invita una persona al workspace.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • emailstringobbligatorio

    format: "email" · maxLength: 320

  • rolestring

    default: "member" · enum: "admin", "member", "viewer"

  • mailbox_idsarray

    maxItems: 250

  • Ogni elementostring

    format: "uuid"

  • send_modestring

    default: "direct" · enum: "direct", "approval_required"

  • expires_in_hoursinteger

    minimum: 1 · maximum: 720 · default: 168

Risposta di successo 201

Invito creato.

application/json

  • valueobject
  • dataobjectobbligatorio
  • idstringobbligatorio

    format: "uuid"

  • codestringobbligatorio

    format: "uuid"

  • inviteCodestring

    format: "uuid"

  • invitedEmailstring

    format: "email"

  • workspaceIdstringobbligatorio

    format: "uuid"

  • workspaceNamestringobbligatorio
  • rolestringobbligatorio

    enum: "admin", "member", "viewer"

  • accessScopestring

    const: "workspace"

  • statusstringobbligatorio

    enum: "pending", "accepted"

  • expiresAtstringobbligatorio

    format: "date-time"

  • notificationSentboolean

Esempio 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
}'

Chiavi API

GET/v1/workspaces/{workspaceId}/api-keys

listWorkspaceApiKeys

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Chiavi API attive con ambiti. I valori segreti non vengono mai restituiti.

application/json

  • valueobject
  • dataarrayobbligatorio
  • Ogni elementoobject
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • prefixstringobbligatorio
  • scopesarrayobbligatorio
  • Ogni elementostring

    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_atstringobbligatorio

    format: "date-time"

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 100

  • scopesarrayobbligatorio

    minItems: 1 · uniqueItems: true

  • Ogni elementostring

    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"

Risposta di successo 201

Chiave API creata. Il token viene restituito una sola volta.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • prefixstringobbligatorio
  • scopesarrayobbligatorio
  • Ogni elementostring

    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_atstringobbligatorio

    format: "date-time"

  • allOf 2object
  • tokenstringobbligatorio
  • smtpobject

    Come un’app che invia solo via SMTP (Supabase Auth, Auth0, WordPress, mailer dei framework) invia tramite Banger. La password è una chiave API con mail:send; Banger inoltra ogni messaggio come scritto e risponde solo dopo il successo di tutti i controlli. Presente solo per una chiave che può inviare posta, in un ambiente in cui l’host di submission risponde.

  • hoststringobbligatorio
  • portintegerobbligatorio

    TLS implicito, consigliato.

  • starttls_portintegerobbligatorio

    STARTTLS prima di AUTH.

  • alternate_portsobjectobbligatorio

    Gli stessi due listener, per reti che bloccano 465 e 587.

  • tlsintegerobbligatorio
  • starttlsintegerobbligatorio
  • usernamestringobbligatorio

    Qualsiasi nome utente funziona; la sola chiave identifica workspace e prodotto.

Esempio 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

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

apiKeyId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 204

Chiave API revocata.

Nessun corpo della risposta.

Esempio curl

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

Fatturazione

GET/v1/workspaces/{workspaceId}/billing

Leggi fatturazione, utilizzo e piani disponibili

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • billingobjectobbligatorio
  • workspaceIdstringobbligatorio

    format: "uuid"

  • tierstringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobbligatorio
  • planIntervalstring | nullobbligatorio

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobbligatorio
  • stripeSubscriptionIdstring | nullobbligatorio
  • currentPeriodEndinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • cancelAtPeriodEndbooleanobbligatorio
  • prepaidPlanKeystring | nullobbligatorio
  • prepaidUntilinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • usageobjectobbligatorio
  • storageBytesnumberobbligatorio
  • storageLimitBytesnumberobbligatorio
  • sendsThisMonthnumberobbligatorio
  • sendLimitnumberobbligatorio
  • sendsTodaynumberobbligatorio
  • dailySendLimitnumber | nullobbligatorio
  • periodEndinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • catalogobjectobbligatorio
  • plansarrayobbligatorio
  • Ogni elementoobject
  • planKeystringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobbligatorio
  • sendLimitnumberobbligatorio
  • storageGbnumberobbligatorio
  • gmailImportLimitnumberobbligatorio
  • triageRuleLimitnumberobbligatorio
  • triageRunLimitnumberobbligatorio
  • pricesarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • addonsarrayobbligatorio

    maxItems: 0

  • Ogni elementonon specificato
  • agentPaymentnon specificatoobbligatorio
  • anyOf 1object
  • network_idstringobbligatorio
  • currencystringobbligatorio

    enum: "usd"

  • howstringobbligatorio
  • optionsarrayobbligatorio
  • Ogni elementoobject
  • plan_keystringobbligatorio

    enum: "starter", "pro"

    Ulteriore annidamento omesso

  • intervalstringobbligatorio

    enum: "month", "year"

    Ulteriore annidamento omesso

  • monthsintegerobbligatorio

    enum: 1, 12

    Ulteriore annidamento omesso

  • amount_centsintegerobbligatorio

    What to mint the token for

    Ulteriore annidamento omesso

  • discountobject

    Ulteriore annidamento omesso

  • anyOf 2null
  • switchOffernon specificato

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobbligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobbligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobbligatorio

    enum: "year"

  • plansarrayobbligatorio
  • Ogni elementoobject
  • planKeystringobbligatorio

    enum: "starter", "pro", "business", "scale"

    Ulteriore annidamento omesso

  • currencystringobbligatorio

    Ulteriore annidamento omesso

  • yearlyPriceintegerobbligatorio

    In the currency's smallest unit.

    Ulteriore annidamento omesso

  • firstYearPriceintegerobbligatorio

    In the currency's smallest unit.

    Ulteriore annidamento omesso

  • messagestringobbligatorio
  • anyOf 2null

Esempio curl

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

Sincronizza la fatturazione da Stripe

Alias di POST /billing/sync. Richiede workspace:admin.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • billingobjectobbligatorio
  • workspaceIdstringobbligatorio

    format: "uuid"

  • tierstringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobbligatorio
  • planIntervalstring | nullobbligatorio

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobbligatorio
  • stripeSubscriptionIdstring | nullobbligatorio
  • currentPeriodEndinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • cancelAtPeriodEndbooleanobbligatorio
  • prepaidPlanKeystring | nullobbligatorio
  • prepaidUntilinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • usageobjectobbligatorio
  • storageBytesnumberobbligatorio
  • storageLimitBytesnumberobbligatorio
  • sendsThisMonthnumberobbligatorio
  • sendLimitnumberobbligatorio
  • sendsTodaynumberobbligatorio
  • dailySendLimitnumber | nullobbligatorio
  • periodEndinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • catalogobjectobbligatorio
  • plansarrayobbligatorio
  • Ogni elementoobject
  • planKeystringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobbligatorio
  • sendLimitnumberobbligatorio
  • storageGbnumberobbligatorio
  • gmailImportLimitnumberobbligatorio
  • triageRuleLimitnumberobbligatorio
  • triageRunLimitnumberobbligatorio
  • pricesarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • addonsarrayobbligatorio

    maxItems: 0

  • Ogni elementonon specificato
  • agentPaymentnon specificatoobbligatorio
  • anyOf 1object
  • network_idstringobbligatorio
  • currencystringobbligatorio

    enum: "usd"

  • howstringobbligatorio
  • optionsarrayobbligatorio
  • Ogni elementoobject
  • plan_keystringobbligatorio

    enum: "starter", "pro"

    Ulteriore annidamento omesso

  • intervalstringobbligatorio

    enum: "month", "year"

    Ulteriore annidamento omesso

  • monthsintegerobbligatorio

    enum: 1, 12

    Ulteriore annidamento omesso

  • amount_centsintegerobbligatorio

    What to mint the token for

    Ulteriore annidamento omesso

  • discountobject

    Ulteriore annidamento omesso

  • anyOf 2null
  • switchOffernon specificato

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobbligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobbligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobbligatorio

    enum: "year"

  • plansarrayobbligatorio
  • Ogni elementoobject
  • planKeystringobbligatorio

    enum: "starter", "pro", "business", "scale"

    Ulteriore annidamento omesso

  • currencystringobbligatorio

    Ulteriore annidamento omesso

  • yearlyPriceintegerobbligatorio

    In the currency's smallest unit.

    Ulteriore annidamento omesso

  • firstYearPriceintegerobbligatorio

    In the currency's smallest unit.

    Ulteriore annidamento omesso

  • messagestringobbligatorio
  • anyOf 2null

Esempio 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

Sincronizza l’ultimo abbonamento Stripe

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • billingobjectobbligatorio
  • workspaceIdstringobbligatorio

    format: "uuid"

  • tierstringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobbligatorio
  • planIntervalstring | nullobbligatorio

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobbligatorio
  • stripeSubscriptionIdstring | nullobbligatorio
  • currentPeriodEndinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • cancelAtPeriodEndbooleanobbligatorio
  • prepaidPlanKeystring | nullobbligatorio
  • prepaidUntilinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • usageobjectobbligatorio
  • storageBytesnumberobbligatorio
  • storageLimitBytesnumberobbligatorio
  • sendsThisMonthnumberobbligatorio
  • sendLimitnumberobbligatorio
  • sendsTodaynumberobbligatorio
  • dailySendLimitnumber | nullobbligatorio
  • periodEndinteger | nullobbligatorio

    Timestamp Unix in millisecondi.

  • catalogobjectobbligatorio
  • plansarrayobbligatorio
  • Ogni elementoobject
  • planKeystringobbligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobbligatorio
  • sendLimitnumberobbligatorio
  • storageGbnumberobbligatorio
  • gmailImportLimitnumberobbligatorio
  • triageRuleLimitnumberobbligatorio
  • triageRunLimitnumberobbligatorio
  • pricesarrayobbligatorio
  • Ogni elementoobject

    Ulteriore annidamento omesso

  • addonsarrayobbligatorio

    maxItems: 0

  • Ogni elementonon specificato
  • agentPaymentnon specificatoobbligatorio
  • anyOf 1object
  • network_idstringobbligatorio
  • currencystringobbligatorio

    enum: "usd"

  • howstringobbligatorio
  • optionsarrayobbligatorio
  • Ogni elementoobject
  • plan_keystringobbligatorio

    enum: "starter", "pro"

    Ulteriore annidamento omesso

  • intervalstringobbligatorio

    enum: "month", "year"

    Ulteriore annidamento omesso

  • monthsintegerobbligatorio

    enum: 1, 12

    Ulteriore annidamento omesso

  • amount_centsintegerobbligatorio

    What to mint the token for

    Ulteriore annidamento omesso

  • discountobject

    Ulteriore annidamento omesso

  • anyOf 2null
  • switchOffernon specificato

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobbligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobbligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobbligatorio

    enum: "year"

  • plansarrayobbligatorio
  • Ogni elementoobject
  • planKeystringobbligatorio

    enum: "starter", "pro", "business", "scale"

    Ulteriore annidamento omesso

  • currencystringobbligatorio

    Ulteriore annidamento omesso

  • yearlyPriceintegerobbligatorio

    In the currency's smallest unit.

    Ulteriore annidamento omesso

  • firstYearPriceintegerobbligatorio

    In the currency's smallest unit.

    Ulteriore annidamento omesso

  • messagestringobbligatorio
  • anyOf 2null

Esempio 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

Avvia il checkout o apri il portale di fatturazione

Richiede workspace:admin. Sono venduti solo piani a pagamento self-service. Un abbonamento attivo apre il portale clienti. I campi snake-case hanno precedenza sugli alias camel-case.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

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

    Identificatore facoltativo di ripetizione: 8–64 lettere, cifre o trattini. Gli identificatori non validi sono ignorati.

  • billingAttemptIdstring
  • anyOf 1non specificato
  • anyOf 2non specificato

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • urlstringobbligatorio

    format: "uri"

  • kindstringobbligatorio

    enum: "checkout", "portal"

  • discountnon specificato

    The switch-from-Mailchimp month applied to this yearly checkout.

  • allOf 1object

    Switch from Mailchimp: one month off the first yearly invoice.

  • offerstringobbligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobbligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • planKeystringobbligatorio

    enum: "starter", "pro", "business", "scale"

  • intervalstringobbligatorio

    enum: "year"

  • currencystringobbligatorio

    Lowercase ISO currency the amounts are in.

  • amountOffintegerobbligatorio

    In the currency's smallest unit.

  • yearlyPriceintegerobbligatorio

    In the currency's smallest unit.

  • firstYearPriceintegerobbligatorio

    In the currency's smallest unit.

  • messagestringobbligatorio

    A sentence to tell the person.

  • switchOffernon specificato

    On a monthly checkout, the month a yearly one would get instead.

  • allOf 1object

    Switch from Mailchimp: one month off the first yearly invoice.

  • offerstringobbligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobbligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • planKeystringobbligatorio

    enum: "starter", "pro", "business", "scale"

  • intervalstringobbligatorio

    enum: "year"

  • currencystringobbligatorio

    Lowercase ISO currency the amounts are in.

  • amountOffintegerobbligatorio

    In the currency's smallest unit.

  • yearlyPriceintegerobbligatorio

    In the currency's smallest unit.

  • firstYearPriceintegerobbligatorio

    In the currency's smallest unit.

  • messagestringobbligatorio

    A sentence to tell the person.

Esempio 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

Apri il portale di fatturazione clienti

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • urlstringobbligatorio

    format: "uri"

Esempio 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

Acquista tempo prepagato del piano con un Shared Payment Token

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject
  • plan_keystringobbligatorio

    enum: "starter", "pro"

  • intervalstring

    default: "month" · enum: "month", "year"

  • shared_payment_tokenstringobbligatorio

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

Risposta di successo 200

Risposta riuscita.

application/json

  • valueobject
  • dataobjectobbligatorio
  • statusstringobbligatorio
  • payment_intent_idstringobbligatorio
  • messagestringobbligatorio
  • plan_keystring

    enum: "starter", "pro"

  • prepaid_untilstring | null

    format: "date-time"

  • amount_centsinteger

    What was charged.

  • discountobject
  • offerstringobbligatorio

    enum: "switch_from_mailchimp"

  • amount_off_centsintegerobbligatorio
  • full_price_centsintegerobbligatorio
  • messagestringobbligatorio

Esempio 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"
}'

Workspace

POST/v1/workspaces

createWorkspace

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
Idempotency-Key
header · obbligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 200

Risposta di successo 200

Ripetizione idempotente di un workspace creato in precedenza.

application/json

  • valueobject
  • datanon specificatoobbligatorio
  • allOf 1object
  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • shardstringobbligatorio
  • rolestringobbligatorio

    enum: "owner", "admin", "member", "viewer"

  • revisionintegerobbligatorio

    format: "int64"

  • name_sourcestringobbligatorio

    Origine del nome del workspace: signup (nome automatico all’iscrizione), brand (azienda o brand confermato nella configurazione iniziale) o user (digitato da una persona; le conferme del brand non lo rinominano più).

    enum: "signup", "brand", "user"

  • owner_emailstring | nullobbligatorio

    Indirizzo email del primo proprietario attivo. Null se il chiamante è una chiave API statica o il proprietario non ha un indirizzo registrato.

  • avatar_urlstring | nullobbligatorio

    Simbolo del brand del workspace: logo del brand del prodotto predefinito, altrimenti logo dell’ultimo rilevamento aziendale confermato.

  • allOf 2object
  • replayedbooleanobbligatorio

Esempio 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}

Leggi il workspace, il suo proprietario e gli altri workspace della persona autenticata.

Qualsiasi attore autorizzato per il workspace può leggerlo. other_workspaces elenca le altre appartenenze attive della persona autenticata. Un’autorizzazione OAuth o una chiave API è autorizzata solo per questo workspace e non apprende nulla degli altri, quindi other_workspaces è vuoto e la risposta contiene una nota che lo spiega. Una chiave API statica non ha una persona associata, quindi owner_email è null.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 200

Il workspace come lo vede il chiamante.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • name_sourcestringobbligatorio

    Origine del nome del workspace: signup (nome automatico all’iscrizione), brand (azienda o brand confermato nella configurazione iniziale) o user (digitato da una persona; le conferme del brand non lo rinominano più).

    enum: "signup", "brand", "user"

  • rolestringobbligatorio

    enum: "owner", "admin", "member", "viewer"

  • owner_emailstring | nullobbligatorio
  • avatar_urlstring | nullobbligatorio
  • other_workspacesarrayobbligatorio

    maxItems: 50

  • Ogni elementoobject

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • rolestringobbligatorio

    enum: "owner", "admin", "member", "viewer"

  • notestring

    Presente per chiamanti con chiave API e OAuth, la cui connessione è autorizzata solo per questo workspace.

Esempio curl

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

Rinomina un workspace.

Richiede un proprietario o amministratore attivo; le credenziali necessitano di workspace:admin per questo workspace. Il nome viene ripulito dagli spazi esterni e deve contenere 1-80 caratteri. Un nome digitato è definitivo: le successive conferme del brand non rinominano più il workspace (name_source diventa user). Incrementa la revisione del workspace e registra una modifica "workspace".

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta obbligatorio

application/json

  • valueobject

    Nessuna proprietà aggiuntiva

  • namestringobbligatorio

    minLength: 1 · maxLength: 80

Risposta di successo 200

Il workspace è stato rinominato.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio

    minLength: 1 · maxLength: 80

  • name_sourcestringobbligatorio

    const: "user"

Esempio 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}

Elimina definitivamente un workspace di proprietà e metti in coda la pulizia degli oggetti fisici.

Richiede che l’attore autenticato sia proprietario. Le chiavi API statiche del workspace non possono eliminarlo; è richiesta una sessione umana o un’autorizzazione OAuth dell’utente con workspace:admin. Gli abbonamenti a pagamento devono essere prima annullati. Lo stato PostgreSQL viene eliminato atomicamente e tutte le versioni degli oggetti B2 sotto il prefisso del workspace vengono eliminate in modo asincrono.

Autenticazione: chiave API del workspace come Bearer.

Parametri

Nome / posizioneSchema
workspaceId
path · obbligatorio
  • valuestring

    format: "uuid"

Corpo della richiesta

Il contratto non specifica un corpo della richiesta.

Risposta di successo 202

Workspace canonico eliminato e pulizia degli oggetti fisici in coda.

application/json

  • valueobject
  • dataobjectobbligatorio

    Nessuna proprietà aggiuntiva

  • idstringobbligatorio

    format: "uuid"

  • namestringobbligatorio
  • deletedbooleanobbligatorio

    const: true

  • storage_cleanupstringobbligatorio

    const: "queued"

  • next_workspace_idstring

    format: "uuid"

Esempio curl

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