Referencia de la API de Banger

Usa la API de Banger para trabajar con buzones, enviar correos, gestionar contactos y ejecutar campañas y jornadas en tu espacio de trabajo.

Conecta tu espacio de trabajo

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

Descargar OpenAPI (JSON OpenAPI 3.1 con las mismas operaciones que esta página), para generadores de código, clientes de API y agentes de IA.

En la aplicación de Banger, abre Configuración → Desarrolladores → Gestionar claves de API. Elige Crear clave de API, introduce un nombre, selecciona los permisos que necesita tu aplicación y elige Crear clave. Copia la clave ahora: solo se muestra una vez y no se puede recuperar.

Las claves del espacio de trabajo tienen el formato bgr_<12-character prefix>_<secret>. Define tu clave como BANGER_API_KEY en tu entorno y autentica las solicitudes del espacio de trabajo con:

Authorization: Bearer <workspace API key>

Las rutas de formularios públicos de registro siguientes no requieren autenticación. Cada operación indica si requiere un token Bearer. Sustituye los marcadores de ruta como {workspaceId} por los ID de tus recursos antes de ejecutar los ejemplos.

Solicitudes y respuestas

Las respuestas JSON suelen incluir los resultados en { data } y los errores en { error: { code, message } }. Algunos endpoints devuelven otros formatos o ningún contenido; consulta la definición de respuesta de la operación.

Envía Idempotency-Key cuando figure entre los parámetros de cabecera y reutiliza la misma clave al reintentar la misma solicitud. El contrato define distintas restricciones de longitud según la operación; sigue la tabla de parámetros.

La paginación depende del endpoint. Cuando aparecen los parámetros compartidos cursor y limit, el cursor es una cadena de hasta 1,024 caracteres y el límite predeterminado es 50, con un rango de 1–100. Otros endpoints definen sus propios parámetros y campos de respuesta, como next_cursor; sigue esos esquemas.

Los ejemplos se generan a partir de los ejemplos, valores predeterminados, enumeraciones y tipos de esquema del contrato. Sustituye los valores ilustrativos por tus datos. Si falta un esquema de cuerpo o respuesta, se indica abajo.

Estas funciones también están disponibles para los asistentes de IA a través del servidor MCP de Banger.

Productos

GET/v1/workspaces/{workspaceId}/products

Listar productos del espacio de trabajo

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • slugstringobligatorio
  • kindstringobligatorio

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

  • website_urlstring | nullobligatorio
  • domainsarrayobligatorio
  • Cada elementostring
  • descriptionstringobligatorio
  • contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • statusstringobligatorio

    deleting: eliminado por una persona; restaurable hasta delete_after, después se elimina definitivamente.

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

  • delete_afterstring | null

    Cuándo se elimina definitivamente un producto en estado deleting.

    format: "date-time"

  • is_defaultbooleanobligatorio
  • route_readybooleanobligatorio
  • setuparrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • statusstringobligatorio

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

  • completion_sourcestring | nullobligatorio

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

  • notestringobligatorio
  • updated_atstring | nullobligatorio

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de curl

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

Crear un producto

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestringobligatorio

    minLength: 1 · maxLength: 160

  • kindstring

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

  • website_urlstring | null

    maxLength: 2000

  • descriptionstring

    maxLength: 4000

  • contextobject
  • Propiedad adicionalCualquier valor
  • domainsarray

    maxItems: 20

  • Cada elementostring

    maxLength: 253

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • slugstringobligatorio
  • kindstringobligatorio

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

  • website_urlstring | nullobligatorio
  • domainsarrayobligatorio
  • Cada elementostring
  • descriptionstringobligatorio
  • contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • statusstringobligatorio

    deleting: eliminado por una persona; restaurable hasta delete_after, después se elimina definitivamente.

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

  • delete_afterstring | null

    Cuándo se elimina definitivamente un producto en estado deleting.

    format: "date-time"

  • is_defaultbooleanobligatorio
  • route_readybooleanobligatorio
  • setuparrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • statusstringobligatorio

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

  • completion_sourcestring | nullobligatorio

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

  • notestringobligatorio
  • updated_atstring | nullobligatorio

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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}

Obtener un producto

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

productId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • slugstringobligatorio
  • kindstringobligatorio

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

  • website_urlstring | nullobligatorio
  • domainsarrayobligatorio
  • Cada elementostring
  • descriptionstringobligatorio
  • contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • statusstringobligatorio

    deleting: eliminado por una persona; restaurable hasta delete_after, después se elimina definitivamente.

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

  • delete_afterstring | null

    Cuándo se elimina definitivamente un producto en estado deleting.

    format: "date-time"

  • is_defaultbooleanobligatorio
  • route_readybooleanobligatorio
  • setuparrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • statusstringobligatorio

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

  • completion_sourcestring | nullobligatorio

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

  • notestringobligatorio
  • updated_atstring | nullobligatorio

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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}

Actualizar un producto

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

productId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestring

    maxLength: 160

  • kindstring

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

  • website_urlstring | null

    maxLength: 2000

  • descriptionstring

    maxLength: 4000

  • contextobject
  • Propiedad adicionalCualquier valor
  • brandobject
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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"

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • slugstringobligatorio
  • kindstringobligatorio

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

  • website_urlstring | nullobligatorio
  • domainsarrayobligatorio
  • Cada elementostring
  • descriptionstringobligatorio
  • contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • statusstringobligatorio

    deleting: eliminado por una persona; restaurable hasta delete_after, después se elimina definitivamente.

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

  • delete_afterstring | null

    Cuándo se elimina definitivamente un producto en estado deleting.

    format: "date-time"

  • is_defaultbooleanobligatorio
  • route_readybooleanobligatorio
  • setuparrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • statusstringobligatorio

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

  • completion_sourcestring | nullobligatorio

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

  • notestringobligatorio
  • updated_atstring | nullobligatorio

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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 producto (un proyecto en la aplicación) tras revisar la vista previa de eliminación. Deja de usarse de inmediato (se detiene su envío) y puede restaurarse durante 24 horas; después Banger elimina sus dominios de envío y todas las filas que le pertenecen. No se puede eliminar el último producto activo del espacio de trabajo. Requiere administrador del espacio de trabajo y una sesión iniciada; se rechazan las claves de API y las autorizaciones OAuth.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

productId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • confirm_namestringobligatorio

    El nombre exacto del producto.

    minLength: 1 · maxLength: 160

  • preview_tokenstringobligatorio

    minLength: 64 · maxLength: 64

Respuesta correcta 202

El producto está fuera de uso y se elimina definitivamente en delete_after si no se restaura antes. Una repetición idempotente devuelve el mismo resultado.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio

    enum: "deleting"

  • delete_afterstringobligatorio

    Cuándo se elimina definitivamente el producto; hasta entonces se puede restaurar.

    format: "date-time"

  • next_product_idstringobligatorio

    El producto predeterminado actual del espacio de trabajo.

    format: "uuid"

  • replayedboolean

Ejemplo de 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

Previsualiza la eliminación de un producto y todo lo que le pertenece, sin eliminar nada. Requiere administrador del espacio de trabajo, con sesión iniciada o mediante OAuth autorizado por el usuario.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

productId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lo que la eliminación del producto elimina y detiene.

application/json

  • valueobject
  • dataobjectobligatorio
  • productobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • is_defaultbooleanobligatorio
  • next_default_productno especificadoobligatorio

    El producto que pasa a ser predeterminado del espacio de trabajo al eliminar el predeterminado.

  • oneOf 1null
  • oneOf 2object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • last_productbooleanobligatorio

    No se puede eliminar el único producto activo.

  • mailboxesarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • domainsarrayobligatorio

    Dominios de envío que Banger elimina al terminar el plazo de restauración.

  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • domainstringobligatorio
  • journeysintegerobligatorio
  • broadcastsintegerobligatorio
  • signup_formsintegerobligatorio
  • contactsintegerobligatorio
  • api_keysintegerobligatorio
  • webhooksintegerobligatorio
  • pending_sendsintegerobligatorio
  • impactarrayobligatorio
  • Cada elementostring
  • preview_tokenstringobligatorio

Ejemplo de 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

Restaura un producto eliminado antes de su delete_after. Se reactivan sus buzones, Jornadas, formularios de registro, webhooks e integraciones; las Campañas siguen pausadas. Requiere administrador del espacio de trabajo, con sesión iniciada o mediante OAuth autorizado por el usuario.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

productId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

El producto vuelve a estar activo.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio

    enum: "active"

Ejemplo de 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}

Actualizar un elemento de configuración del producto

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

productId
path · obligatorio
  • valuestring

    format: "uuid"

key
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • statusstringobligatorio

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

  • completion_sourcestring

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

  • notestring

    maxLength: 1000

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • keystringobligatorio

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

  • statusstringobligatorio

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

  • completion_sourcestring | nullobligatorio

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

  • notestringobligatorio
  • updated_atstring | nullobligatorio

    format: "date-time"

Ejemplo de 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

Asociar un dominio a un producto

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

productId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • domainstringobligatorio

    minLength: 3 · maxLength: 253

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • slugstringobligatorio
  • kindstringobligatorio

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

  • website_urlstring | nullobligatorio
  • domainsarrayobligatorio
  • Cada elementostring
  • descriptionstringobligatorio
  • contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • statusstringobligatorio

    deleting: eliminado por una persona; restaurable hasta delete_after, después se elimina definitivamente.

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

  • delete_afterstring | null

    Cuándo se elimina definitivamente un producto en estado deleting.

    format: "date-time"

  • is_defaultbooleanobligatorio
  • route_readybooleanobligatorio
  • setuparrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • statusstringobligatorio

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

  • completion_sourcestring | nullobligatorio

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

  • notestringobligatorio
  • updated_atstring | nullobligatorio

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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"
}'

Buzones

GET/v1/workspaces/{workspaceId}/mailboxes

listMailboxes

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Buzones visibles para el actor.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • product_idstring | null

    El producto (proyecto) al que pertenece el buzón. Los clientes lo usan para agrupar buzones y crear enlaces a la aplicación web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatorio

    format: "email"

  • display_namestringobligatorio
  • providerstringobligatorio

    enum: "gmail", "smtp"

  • statusstringobligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatorio

    enum: "domain", "starter"

Ejemplo de 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 un buzón de trabajo nativo de Banger en un dominio de envío del espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • local_partstringobligatorio

    minLength: 1 · maxLength: 64

  • display_namestring

    maxLength: 200

Respuesta correcta 200

Repetición idempotente de la creación de un buzón nativo.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • product_idstring | null

    El producto (proyecto) al que pertenece el buzón. Los clientes lo usan para agrupar buzones y crear enlaces a la aplicación web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatorio

    format: "email"

  • display_namestringobligatorio
  • providerstringobligatorio

    enum: "gmail", "smtp"

  • statusstringobligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatorio

    enum: "domain", "starter"

Ejemplo de 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

Previsualiza la eliminación permanente de un buzón y los flujos de envío dependientes. Requiere administrador del espacio de trabajo y ámbito del producto.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailboxId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Buzón exacto e impacto actual de la eliminación, sin eliminar nada.

application/json

  • valueobject
  • dataobjectobligatorio
  • mailboxobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • providerstringobligatorio
  • domain_idstring | nullobligatorio

    format: "uuid"

  • provider_connection_idstring | nullobligatorio

    format: "uuid"

  • messagesintegerobligatorio
  • draftsintegerobligatorio
  • pending_sendsintegerobligatorio
  • broadcastsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio
  • journeysarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio
  • signup_formsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio
  • impactarrayobligatorio
  • Cada elementostring
  • preview_tokenstringobligatorio

Ejemplo de 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}

Define el nombre de remitente que ven los destinatarios en los correos de un buzón de Banger ("Name <address>"). Los buzones de Gmail conservan el nombre definido en Gmail. Requiere administrador del espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailboxId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • display_namestringobligatorio

    Una línea. Vacío envía solo la dirección.

    maxLength: 200

Respuesta correcta 200

El buzón con su nombre de remitente.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • product_idstring | null

    El producto (proyecto) al que pertenece el buzón. Los clientes lo usan para agrupar buzones y crear enlaces a la aplicación web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatorio

    format: "email"

  • display_namestringobligatorio
  • providerstringobligatorio

    enum: "gmail", "smtp"

  • statusstringobligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatorio

    enum: "domain", "starter"

Ejemplo de 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 permanentemente un buzón conservando su dominio y los demás buzones. Requiere administrador del espacio de trabajo y ámbito del producto.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailboxId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • confirm_addressstringobligatorio

    minLength: 3 · maxLength: 320

  • preview_tokenstringobligatorio

    minLength: 64 · maxLength: 64

Respuesta correcta 200

Eliminado o repetición idempotente. Los archivos almacenados se ponen en cola para su limpieza permanente.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • deletedbooleanobligatorio
  • replayedboolean

Ejemplo de 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 un buzón alojado restringido a bandejas alojadas del mismo producto y al destinatario de registro del espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • create_newboolean

    Crea un buzón alojado adicional en lugar de reanudar el inicial.

  • local_partstring

    Nombre antes de @bangermail.com. Sin él, el buzón recibe un nombre formado por palabras como quiet-maple-harbor.

    minLength: 3 · maxLength: 40

  • display_namestring

    maxLength: 200

Respuesta correcta 200

Repetición idempotente de la creación de una identidad inicial.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • product_idstring | null

    El producto (proyecto) al que pertenece el buzón. Los clientes lo usan para agrupar buzones y crear enlaces a la aplicación web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatorio

    format: "email"

  • display_namestringobligatorio
  • providerstringobligatorio

    enum: "gmail", "smtp"

  • statusstringobligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatorio

    enum: "domain", "starter"

Ejemplo de 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

Levanta la pausa por reputación del remitente de un buzón, según las reglas de reanudación autoservicio de resumeSending.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailboxId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • acknowledge_recipient_complaintbooleanobligatorio

    const: true

  • reasonstring

    Por qué se restablece el envío; se registra en el registro de auditoría.

    maxLength: 500

Respuesta correcta 200

Buzón reactivado o ya activo tras una solicitud anterior correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • product_idstring | null

    El producto (proyecto) al que pertenece el buzón. Los clientes lo usan para agrupar buzones y crear enlaces a la aplicación web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatorio

    format: "email"

  • display_namestringobligatorio
  • providerstringobligatorio

    enum: "gmail", "smtp"

  • statusstringobligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatorio

    enum: "domain", "starter"

Ejemplo de 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"
}'

Borradores

GET/v1/workspaces/{workspaceId}/drafts

listDrafts

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstring | nullobligatorio

    format: "uuid"

  • versionintegerobligatorio
  • toarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • ccarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • bccarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • subjectstringobligatorio
  • body_textstringobligatorio
  • statusstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • attachmentsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • content_typestringobligatorio
  • size_bytesintegerobligatorio
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • toarray

    maxItems: 500

  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • ccarray

    maxItems: 500

  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • bccarray

    maxItems: 500

  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstring | nullobligatorio

    format: "uuid"

  • versionintegerobligatorio
  • toarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • ccarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • bccarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • subjectstringobligatorio
  • body_textstringobligatorio
  • statusstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • attachmentsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • content_typestringobligatorio
  • size_bytesintegerobligatorio
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

draftId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Rendimiento, estado e incidentes de entregabilidad canónicos.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstring | nullobligatorio

    format: "uuid"

  • versionintegerobligatorio
  • toarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • ccarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • bccarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • subjectstringobligatorio
  • body_textstringobligatorio
  • statusstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • attachmentsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • content_typestringobligatorio
  • size_bytesintegerobligatorio
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

draftId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueno especificado
  • allOf 1object

    Sin propiedades adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • toarray

    maxItems: 500

  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • ccarray

    maxItems: 500

  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • bccarray

    maxItems: 500

  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • allOf 2object
  • versionintegerobligatorio

    minimum: 1

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstring | nullobligatorio

    format: "uuid"

  • versionintegerobligatorio
  • toarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • ccarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • bccarrayobligatorio
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • subjectstringobligatorio
  • body_textstringobligatorio
  • statusstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • attachmentsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • content_typestringobligatorio
  • size_bytesintegerobligatorio
  • sha256string
  • created_atstring

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

draftId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Borrador y objetos referenciados programados para eliminación.

Sin cuerpo de respuesta.

Ejemplo de 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

Envía el borrador desde su buzón, al que debe tener acceso quien llama. Si sus envíos requieren aprobación, recibe una aprobación pendiente; decide una persona que podría enviar el borrador directamente.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

draftId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 202

El envío está en cola o espera aprobación.

application/json

  • valueobject
  • datano especificadoobligatorio
  • oneOf 1object
  • idstringobligatorio

    format: "uuid"

  • typestringobligatorio
  • statusstringobligatorio

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

  • workspace_revisionintegerobligatorio

    format: "int64"

  • created_atstringobligatorio

    format: "date-time"

  • oneOf 2object

    Sin propiedades adicionales

  • approvalobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • checksarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

draftId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Filename
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 500

Cuerpo de la solicitud obligatorio

application/octet-stream

  • valuestring

    format: "binary" · maxLength: 26214400

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • content_typestringobligatorio
  • size_bytesintegerobligatorio
  • sha256string
  • created_atstring

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

draftId
path · obligatorio
  • valuestring

    format: "uuid"

attachmentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Adjunto programado para eliminación en B2 teniendo en cuenta las versiones.

Sin cuerpo de respuesta.

Ejemplo de 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

Leer el cuerpo HTML de un borrador

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

draftId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

HTML del borrador.

text/html

  • valuestring

Ejemplo de curl

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

Envío

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

listSendIntents

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Envíos canónicos recientes y su estado en el proveedor.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • traffic_classstringobligatorio

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

  • recipient_countintegerobligatorio

    minimum: 1

  • provider_keystringobligatorio
  • provider_statestringobligatorio

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

  • provider_message_idstring | null
  • error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

sendIntentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado canónico del envío asíncrono.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • traffic_classstringobligatorio

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

  • recipient_countintegerobligatorio

    minimum: 1

  • provider_keystringobligatorio
  • provider_statestringobligatorio

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

  • provider_message_idstring | null
  • error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Ejemplo de curl

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

Envío transaccional

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

listTransactionalSends

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 500 · default: 200

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • command_idstring | nullobligatorio

    format: "uuid"

  • statusstringobligatorio
  • command_statusstring | nullobligatorio
  • subjectstring
  • recipientsarray
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • recipient_countintegerobligatorio
  • error_codestring | null
  • send_intent_idstring

    format: "uuid"

  • providerstring | null
  • route_kindstring | null
  • sourcestring
  • from_addressstring
  • recipient_statesobject
  • Propiedad adicionalinteger
  • provider_message_idstring | null
  • languageno especificado

    El idioma en que se envió este correo; null si no se tradujo.

  • anyOf 1object

    El idioma en que una persona recibió un correo. Solo lo tienen los correos traducidos (de contenido gestionado).

  • localestringobligatorio

    Etiqueta BCP 47 del idioma en que se escribió el correo.

  • requested_localestring

    Solo presente en un envío antiguo que salió en otro idioma: el idioma que la persona debería haber recibido.

  • fallback_reasonstring

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

  • anyOf 2null
  • journeyobject | null

    El paso y la inscripción de la Jornada que enviaron este correo; null para otros envíos.

  • journey_idstringobligatorio

    format: "uuid"

  • step_idstringobligatorio

    format: "uuid"

  • enrollment_idstringobligatorio

    format: "uuid"

  • experimentobject | null

    La variante del experimento de este correo; null si no se aplicó ninguna.

  • experiment_idstringobligatorio

    format: "uuid"

  • variant_keystringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • template_idstring | null

    format: "uuid"

  • template_versioninteger | null
  • workspace_revisioninteger | null
  • command_resultobject
  • Propiedad adicionalCualquier valor
  • command_started_atstring | null

    format: "date-time"

  • command_completed_atstring | null

    format: "date-time"

  • body_textstring
  • body_htmlstring
  • reply_toarray
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • headersobject
  • Propiedad adicionalstring
  • tagsarray
  • Cada elementoobject
  • namestringobligatorio
  • valuestringobligatorio

Ejemplo de 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 por envío de Jornada. To acepta un destinatario en cualquier formato RecipientInput ("a@example.com", "Pat <a@example.com>", { email, name } o una lista de un elemento); Cc y Bcc deben estar vacíos. reply_to usa por defecto el buzón de la Jornada (una lista vacía también indica el valor predeterminado); el correo de Producto necesita exactamente uno. Una Jornada nueva de API usa por defecto contenido fuente gestionado; las Jornadas de código heredado conservan envíos de contenido completo. Un rechazo (4xx) no deja nada congelado para el destinatario, así que una llamada corregida con una nueva clave de idempotencia envía.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • mailbox_idstringobligatorio

    format: "uuid"

  • tono especificadoobligatorio

    Destinatarios de to, cc, bcc y reply_to: una dirección ("a@example.com" o "Pat <a@example.com>"), un objeto { email, name } o una lista que mezcle ambos. Banger los almacena como objetos { email, name } con el correo en minúsculas. El hash de idempotencia incluye el cuerpo tal como se envía, así que reintenta con el mismo formato.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatorio

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Cada elementono especificado
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatorio

    format: "email"

  • ccarray

    maxItems: 0

  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • bccarray

    maxItems: 0

  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • subjectstring

    maxLength: 10000

  • expires_atstring

    Descarta un envío diferido de Jornada después de este instante; como máximo siete días desde la solicitud original.

    format: "date-time"

  • expires_after_secondsinteger

    minimum: 1 · maximum: 604800

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • reply_tono especificado

    Destinatarios de to, cc, bcc y reply_to: una dirección ("a@example.com" o "Pat <a@example.com>"), un objeto { email, name } o una lista que mezcle ambos. Banger los almacena como objetos { email, name } con el correo en minúsculas. El hash de idempotencia incluye el cuerpo tal como se envía, así que reintenta con el mismo formato.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatorio

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Cada elementono especificado
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatorio

    format: "email"

  • headersobject
  • Propiedad adicionalstring

    maxLength: 5000

  • tagsarray

    maxItems: 49

  • Cada elementoobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 256

  • valuestringobligatorio

    minLength: 1 · maxLength: 256

Respuesta correcta 202

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • action_kindstringobligatorio

    enum: "transactional.send"

  • idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • provider_attempt_idstring

    format: "uuid"

  • statusstringobligatorio

    Estados sent/queued de la entrega o, para una solicitud congelada: deferred (programada por la política o en espera de traducción), processing (en envío), discarded.

  • replayedboolean
  • journeyno especificadoobligatorio
  • anyOf 1object
  • journey_idstringobligatorio

    format: "uuid"

  • enrollment_idstringobligatorio

    format: "uuid"

  • step_idstringobligatorio

    format: "uuid"

  • step_positionintegerobligatorio
  • originstring

    enum: "journey"

  • journey_identitystring
  • anyOf 2null
  • ignored_variablesarrayobligatorio
  • Cada elementostring
  • scheduled_atstring

    format: "date-time"

  • reasonstring
  • communication_reservation_idstring

    format: "uuid"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

transactionalSendId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • command_idstring | nullobligatorio

    format: "uuid"

  • statusstringobligatorio
  • command_statusstring | nullobligatorio
  • subjectstring
  • recipientsarray
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • recipient_countintegerobligatorio
  • error_codestring | null
  • send_intent_idstring

    format: "uuid"

  • providerstring | null
  • route_kindstring | null
  • sourcestring
  • from_addressstring
  • recipient_statesobject
  • Propiedad adicionalinteger
  • provider_message_idstring | null
  • languageno especificado

    El idioma en que se envió este correo; null si no se tradujo.

  • anyOf 1object

    El idioma en que una persona recibió un correo. Solo lo tienen los correos traducidos (de contenido gestionado).

  • localestringobligatorio

    Etiqueta BCP 47 del idioma en que se escribió el correo.

  • requested_localestring

    Solo presente en un envío antiguo que salió en otro idioma: el idioma que la persona debería haber recibido.

  • fallback_reasonstring

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

  • anyOf 2null
  • journeyobject | null

    El paso y la inscripción de la Jornada que enviaron este correo; null para otros envíos.

  • journey_idstringobligatorio

    format: "uuid"

  • step_idstringobligatorio

    format: "uuid"

  • enrollment_idstringobligatorio

    format: "uuid"

  • experimentobject | null

    La variante del experimento de este correo; null si no se aplicó ninguna.

  • experiment_idstringobligatorio

    format: "uuid"

  • variant_keystringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • template_idstring | null

    format: "uuid"

  • template_versioninteger | null
  • workspace_revisioninteger | null
  • command_resultobject
  • Propiedad adicionalCualquier valor
  • command_started_atstring | null

    format: "date-time"

  • command_completed_atstring | null

    format: "date-time"

  • body_textstring
  • body_htmlstring
  • reply_toarray
  • Cada elementoobject
  • emailstringobligatorio
  • namestring
  • headersobject
  • Propiedad adicionalstring
  • tagsarray
  • Cada elementoobject
  • namestringobligatorio
  • valuestringobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

transactionalSendId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Cronología ordenada de aceptación, intentos del proveedor y eventos del destinatario.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • occurred_atstringobligatorio

    format: "date-time"

  • event_typestringobligatorio
  • labelstringobligatorio
  • providerstring | null
  • recipient_domainstring | null
  • error_codestring | null

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

transactionalSendId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 202

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • action_kindstringobligatorio

    enum: "transactional.send"

  • idstringobligatorio

    format: "uuid"

  • send_intent_idstringobligatorio

    format: "uuid"

  • provider_attempt_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio
  • replayedbooleanobligatorio

Ejemplo de 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'

Conversaciones

GET/v1/workspaces/{workspaceId}/threads

listThreads

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • 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

Devuelve solo conversaciones con esta etiqueta del buzón.

  • valuestring

    format: "uuid"

view
query
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Conversaciones del espacio de trabajo paginadas por claves.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • subjectstringobligatorio
  • snippetstringobligatorio
  • last_message_atstringobligatorio

    format: "date-time"

  • message_countintegerobligatorio
  • unread_countintegerobligatorio
  • is_archivedbooleanobligatorio
  • is_trashbooleanobligatorio
  • is_spambooleanobligatorio
  • is_starredbooleanobligatorio
  • is_sentbooleanobligatorio
  • has_attachmentsbooleanobligatorio
  • labelsarrayobligatorio
  • Cada elementostring
  • participantsarray
  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • pageobjectobligatorio
  • next_cursorstring
  • has_morebooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

threadId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Conversación y mensajes ordenados.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • subjectstringobligatorio
  • snippetstringobligatorio
  • last_message_atstringobligatorio

    format: "date-time"

  • message_countintegerobligatorio
  • unread_countintegerobligatorio
  • is_archivedbooleanobligatorio
  • is_trashbooleanobligatorio
  • is_spambooleanobligatorio
  • is_starredbooleanobligatorio
  • is_sentbooleanobligatorio
  • has_attachmentsbooleanobligatorio
  • labelsarrayobligatorio
  • Cada elementostring
  • participantsarray
  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • allOf 2object
  • messagesarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstringobligatorio

    format: "uuid"

  • sent_atstringobligatorio

    format: "date-time"

  • received_atstring

    format: "date-time"

  • envelope_recipientsarray

    Destinatarios originales del sobre SMTP, normalizados en mayúsculas/minúsculas por el borde SMTP, antes del enrutamiento de alias de solo recepción. Vacío para mensajes antiguos o fuentes no SMTP. Independiente de las cabeceras visibles To/Cc.

  • Cada elementostring

    format: "email"

    Se omiten niveles anidados adicionales

  • fromobjectobligatorio
  • namestring

    Se omiten niveles anidados adicionales

  • emailstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • toarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • ccarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • reply_toarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • is_sentboolean

    Si este mensaje se envió desde el buzón, incluido desde un alias.

  • body_textstring
  • body_html_urlstring

    format: "uri"

  • reply_originobject
  • send_intent_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • sourcestringobligatorio

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

    Se omiten niveles anidados adicionales

  • source_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • traffic_classstringobligatorio

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

    Se omiten niveles anidados adicionales

  • kindstringobligatorio

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

    Se omiten niveles anidados adicionales

  • namestring

    Se omiten niveles anidados adicionales

  • has_attachmentsbooleanobligatorio
  • attachmentsarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

Ejemplo de curl

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

Mensajes

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

getMessageHtml

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

messageId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Cuerpo HTML del mensaje autenticado y restringido por sandbox.

text/html

  • valuestring

Ejemplo de curl

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

Adjuntos

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

downloadAttachment

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

attachmentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Flujo de adjunto autenticado.

application/octet-stream

  • valuestring

    format: "binary"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Resultados de búsqueda de todo el espacio de trabajo.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • subjectstringobligatorio
  • snippetstringobligatorio
  • last_message_atstringobligatorio

    format: "date-time"

  • message_countintegerobligatorio
  • unread_countintegerobligatorio
  • is_archivedbooleanobligatorio
  • is_trashbooleanobligatorio
  • is_spambooleanobligatorio
  • is_starredbooleanobligatorio
  • is_sentbooleanobligatorio
  • has_attachmentsbooleanobligatorio
  • labelsarrayobligatorio
  • Cada elementostring
  • participantsarray
  • Cada elementoobject
  • namestring
  • emailstringobligatorio

    format: "email"

  • pageobjectobligatorio
  • next_cursorstring
  • has_morebooleanobligatorio

Ejemplo de 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"

Contactos

GET/v1/workspaces/{workspaceId}/contacts

listContacts

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

cursor
query
  • valuestring

    maxLength: 1024

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

q
query
  • valuestring

    maxLength: 512

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio

    format: "email"

  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • statusstringobligatorio

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

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • pageobjectobligatorio
  • next_cursorstring
  • has_morebooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • emailstringobligatorio

    format: "email"

  • display_namestring

    maxLength: 1000

  • statusstringobligatorio

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

  • attributesobject
  • Propiedad adicionalCualquier valor
  • consent_confirmedboolean

    Obligatorio al suscribir una dirección nueva.

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio

    format: "email"

  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • statusstringobligatorio

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

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

contactId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio

    format: "email"

  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • statusstringobligatorio

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

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • suppressedbooleanobligatorio
  • suppression_reasonstring | nullobligatorio
  • sourcesarrayobligatorio
  • Cada elementoobject
  • kindstringobligatorio
  • referencestringobligatorio
  • connection_idstring | nullobligatorio

    format: "uuid"

  • metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • first_seen_atstringobligatorio

    format: "date-time"

  • last_seen_atstringobligatorio

    format: "date-time"

  • listsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • subscription_statusstringobligatorio
  • consent_evidencearrayobligatorio
  • Cada elementoobject
  • kindstringobligatorio
  • referencestringobligatorio
  • connection_idstring | nullobligatorio

    format: "uuid"

  • metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • first_seen_atstringobligatorio

    format: "date-time"

  • last_seen_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

contactId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Contacto eliminado.

Sin cuerpo de respuesta.

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstring

    format: "uuid"

  • filenamestring
  • list_idstring | null

    format: "uuid"

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

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • filenamestringobligatorio

    minLength: 1 · maxLength: 500

  • list_idstring

    format: "uuid"

  • consent_confirmedboolean

    Obligatorio si alguna fila importada está suscrita.

  • rowsarrayobligatorio

    minItems: 1 · maxItems: 5000

  • Cada elementoobject
  • emailstringobligatorio

    format: "email"

  • display_namestring

    maxLength: 1000

  • statusstring

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

  • attributesobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "queued"

  • total_rowsintegerobligatorio
  • imported_rowsintegerobligatorio
  • invalid_rowsintegerobligatorio
  • list_idstring | nullobligatorio

    format: "uuid"

Ejemplo de 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

Combinar atributos tipados sin cambiar la suscripción ni el consentimiento

Requiere contacts:write y contacts:read. Solo actualiza un contacto existente. Conserva los atributos omitidos, almacena false explícito y null elimina un campo. Proporciona hechos verificados de la fuente; la ausencia de datos no es false. La suscripción, supresión, identidad e historial de fuentes no cambian.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contactId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Lectura actual del contacto; replayed es true si esta modificación ya se aplicó.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • statusstringobligatorio

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

  • replayedbooleanobligatorio
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • emailstringobligatorio

    format: "email" · maxLength: 320

  • display_namestring

    minLength: 0 · maxLength: 1000

  • attributesobject
  • Propiedad adicionalCualquier valor
  • statusstringobligatorio

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

  • consent_evidenceobject

    Sin propiedades adicionales

  • sourcestring

    minLength: 1 · maxLength: 2000

  • referencestring

    minLength: 1 · maxLength: 2000

  • observed_atstring

    format: "date-time"

  • statementstring

    minLength: 1 · maxLength: 2000

  • consent_confirmedboolean

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio

    format: "email"

  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • statusstringobligatorio

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

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • suppressedbooleanobligatorio
  • suppression_reasonstring | nullobligatorio
  • sourcesarrayobligatorio
  • Cada elementoobject
  • kindstringobligatorio
  • referencestringobligatorio
  • connection_idstring | nullobligatorio

    format: "uuid"

  • metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • first_seen_atstringobligatorio

    format: "date-time"

  • last_seen_atstringobligatorio

    format: "date-time"

  • listsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • subscription_statusstringobligatorio
  • consent_evidencearrayobligatorio
  • Cada elementoobject
  • kindstringobligatorio
  • referencestringobligatorio
  • connection_idstring | nullobligatorio

    format: "uuid"

  • metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • first_seen_atstringobligatorio

    format: "date-time"

  • last_seen_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • rowsarrayobligatorio

    minItems: 1 · maxItems: 5000

  • Cada elementoobject

    Sin propiedades adicionales

  • emailstringobligatorio

    format: "email" · maxLength: 320

  • display_namestring

    minLength: 0 · maxLength: 1000

  • attributesobject
  • Propiedad adicionalCualquier valor
  • statusstringobligatorio

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

  • consent_evidenceobject

    Sin propiedades adicionales

  • sourcestring

    minLength: 1 · maxLength: 2000

  • referencestring

    minLength: 1 · maxLength: 2000

  • observed_atstring

    format: "date-time"

  • statementstring

    minLength: 1 · maxLength: 2000

  • consent_confirmedboolean

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataobjectobligatorio
  • validbooleanobligatorio
  • total_rowsintegerobligatorio
  • valid_rowsintegerobligatorio
  • errorsarrayobligatorio
  • Cada elementoobject
  • rowintegerobligatorio
  • codestringobligatorio
  • messagestringobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

importId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstring

    format: "uuid"

  • filenamestring
  • list_idstring | null

    format: "uuid"

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

Ejemplo de 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

Listar claves de atributos de contacto almacenadas

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Proponer asignaciones de columnas de importación de contactos

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • filenamestring

    maxLength: 500

  • columnsarrayobligatorio

    minItems: 1 · maxItems: 100

  • Cada elementoobject
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • samplesarray

    maxItems: 8

  • Cada elementostring

    maxLength: 120

  • filledinteger

    minimum: 0

  • rowsinteger

    minimum: 0

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • mappingobjectobligatorio
  • columnsarrayobligatorio
  • Cada elementoobject
  • columnstringobligatorio
  • targetstringobligatorio

    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"

  • confidencenumberobligatorio
  • sourcestringobligatorio

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

  • alternativesarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • locale_valuesobjectobligatorio
  • Propiedad adicionalstring | null
  • reviewobjectobligatorio
  • neededbooleanobligatorio
  • reasonsarrayobligatorio
  • Cada elementostring
  • columnsarrayobligatorio
  • Cada elementostring
  • sourcestringobligatorio

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

Ejemplo de 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
    }
  ]
}'

Listas de contactos

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

listContactLists

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • descriptionstringobligatorio
  • member_countintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • descriptionstringobligatorio
  • member_countintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

listId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • descriptionstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • membersarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • statusstringobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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 esta lista y los contactos exclusivos de ella. Conserva los contactos que pertenecen a otras listas. Requiere contacts:write.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

listId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Recuentos de contactos exclusivos eliminados (o por eliminar) y compartidos conservados.

application/json

  • valueobject
  • dataobjectobligatorio
  • deleted_contactsintegerobligatorio

    minimum: 0

  • kept_contactsintegerobligatorio

    minimum: 0

Ejemplo de 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

Previsualiza los recuentos de eliminación de la lista. Las pertenencias se vuelven a comprobar al eliminar. Requiere contacts:read.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

listId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Recuentos de contactos exclusivos eliminados (o por eliminar) y compartidos conservados.

application/json

  • valueobject
  • dataobjectobligatorio
  • deleted_contactsintegerobligatorio

    minimum: 0

  • kept_contactsintegerobligatorio

    minimum: 0

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

listId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • contact_idsarrayobligatorio

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Respuesta correcta 204

Pertenencia a la lista actualizada.

Sin cuerpo de respuesta.

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

listId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • contact_idsarrayobligatorio

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Respuesta correcta 204

Pertenencia a la lista actualizada.

Sin cuerpo de respuesta.

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

Campos de contacto

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

Los campos de contacto del producto (integrados, declarados y descubiertos), con tipo, opciones, fuente, número de contactos con valor y operadores de segmento compatibles.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstringobligatorio

    maxLength: 80

  • descriptionstringobligatorio

    maxLength: 500

  • typestringobligatorio

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

  • optionsarrayobligatorio

    maxItems: 50

  • Cada elementostring
  • originstringobligatorio

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

  • statusstringobligatorio

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Cada elementostring
  • contacts_with_valueinteger

Ejemplo de 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

Declara un campo de contacto: label, type (text, number, boolean, date, choice, choices), key opcional, options y description.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • keystring

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

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

  • descriptionstring

    maxLength: 500

  • typestring

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

  • optionsarray

    maxItems: 50

  • Cada elementostring

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • keystringobligatorio

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

  • labelstringobligatorio

    maxLength: 80

  • descriptionstringobligatorio

    maxLength: 500

  • typestringobligatorio

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

  • optionsarrayobligatorio

    maxItems: 50

  • Cada elementostring
  • originstringobligatorio

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

  • statusstringobligatorio

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Cada elementostring
  • contacts_with_valueinteger

Ejemplo de 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}

Renombra, describe, cambia el tipo (convirtiendo valores almacenados, o devuelve 409 con un ejemplo incompatible), cambia las opciones u oculta un campo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

key
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • labelstring

    maxLength: 80

  • descriptionstring

    maxLength: 500

  • typestring

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

  • optionsarray

    maxItems: 50

  • Cada elementostring
  • statusstring

    enum: "active", "hidden"

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • keystringobligatorio

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

  • labelstringobligatorio

    maxLength: 80

  • descriptionstringobligatorio

    maxLength: 500

  • typestringobligatorio

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

  • optionsarrayobligatorio

    maxItems: 50

  • Cada elementostring
  • originstringobligatorio

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

  • statusstringobligatorio

    enum: "active", "hidden"

  • created_atstring

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • operatorsarray
  • Cada elementostring
  • contacts_with_valueinteger

Ejemplo de 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"
}'

Segmentos

GET/v1/workspaces/{workspaceId}/segments

listSegments

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • filterobjectobligatorio

    Las condiciones deben referirse a campos de contacto declarados y usar operadores compatibles con su tipo. set y not_set omiten value; within_days usa 1–3650 días.

    Sin propiedades adicionales

  • statusstring

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

  • attributesobject
  • Propiedad adicionalCualquier valor
  • conditionsarray

    maxItems: 20

  • Cada elementoobject
  • fieldstringobligatorio

    Se omiten niveles anidados adicionales

  • opstringobligatorio

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

    Se omiten niveles anidados adicionales

  • valueno especificado

    Se omiten niveles anidados adicionales

  • matchstring

    enum: "all", "any"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • filterobject

    Las condiciones deben referirse a campos de contacto declarados y usar operadores compatibles con su tipo. set y not_set omiten value; within_days usa 1–3650 días.

    Sin propiedades adicionales

  • statusstring

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

  • attributesobject
  • Propiedad adicionalCualquier valor
  • conditionsarray

    maxItems: 20

  • Cada elementoobject
  • fieldstringobligatorio
  • opstringobligatorio

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

  • valueno especificado
  • anyOf 1string
  • anyOf 2number
  • anyOf 3boolean
  • anyOf 4array
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • matchstring

    enum: "all", "any"

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • filterobjectobligatorio

    Las condiciones deben referirse a campos de contacto declarados y usar operadores compatibles con su tipo. set y not_set omiten value; within_days usa 1–3650 días.

    Sin propiedades adicionales

  • statusstring

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

  • attributesobject
  • Propiedad adicionalCualquier valor
  • conditionsarray

    maxItems: 20

  • Cada elementoobject
  • fieldstringobligatorio
  • opstringobligatorio

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

  • valueno especificado
  • anyOf 1string

    Se omiten niveles anidados adicionales

  • anyOf 2number

    Se omiten niveles anidados adicionales

  • anyOf 3boolean

    Se omiten niveles anidados adicionales

  • anyOf 4array

    Se omiten niveles anidados adicionales

  • matchstring

    enum: "all", "any"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

segmentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • filterobjectobligatorio

    Las condiciones deben referirse a campos de contacto declarados y usar operadores compatibles con su tipo. set y not_set omiten value; within_days usa 1–3650 días.

    Sin propiedades adicionales

  • statusstring

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

  • attributesobject
  • Propiedad adicionalCualquier valor
  • conditionsarray

    maxItems: 20

  • Cada elementoobject
  • fieldstringobligatorio

    Se omiten niveles anidados adicionales

  • opstringobligatorio

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

    Se omiten niveles anidados adicionales

  • valueno especificado

    Se omiten niveles anidados adicionales

  • matchstring

    enum: "all", "any"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • countintegerobligatorio
  • missing_consent_evidence_countintegerobligatorio
  • samplearrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • excludedobjectobligatorio
  • suppressedintegerobligatorio
  • not_subscribedintegerobligatorio
  • missing_recipient_hashintegerobligatorio
  • missing_consent_evidenceintegerobligatorio

Ejemplo de 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}

Eliminar un segmento

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

segmentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • deletedbooleanobligatorio

    const: true

Ejemplo de curl

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

Audiencia

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

createProductContactList

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    minLength: 0 · maxLength: 2000

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • descriptionstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • membersarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • statusstringobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

listId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • descriptionstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • membersarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • statusstringobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

listId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • contact_idsarrayobligatorio

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • descriptionstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • membersarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • statusstringobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

listId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • contact_idsarrayobligatorio

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • descriptionstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • membersarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • statusstringobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • filterobjectobligatorio

    Sin propiedades adicionales

  • statusstring

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

  • attributesobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1no especificado
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • filterobjectobligatorio

    Las condiciones deben referirse a campos de contacto declarados y usar operadores compatibles con su tipo. set y not_set omiten value; within_days usa 1–3650 días.

    Sin propiedades adicionales

  • statusstring

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

  • attributesobject
  • Propiedad adicionalCualquier valor
  • conditionsarray

    maxItems: 20

  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • matchstring

    enum: "all", "any"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • countintegerobligatorio
  • missing_consent_evidence_countintegerobligatorio
  • samplearrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • emailstringobligatorio

    Se omiten niveles anidados adicionales

  • display_namestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • attributesobjectobligatorio

    Se omiten niveles anidados adicionales

  • excludedobjectobligatorio
  • suppressedintegerobligatorio
  • not_subscribedintegerobligatorio
  • missing_recipient_hashintegerobligatorio
  • missing_consent_evidenceintegerobligatorio
  • allOf 2object
  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

segmentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • filterobjectobligatorio

    Las condiciones deben referirse a campos de contacto declarados y usar operadores compatibles con su tipo. set y not_set omiten value; within_days usa 1–3650 días.

    Sin propiedades adicionales

  • statusstring

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

  • attributesobject
  • Propiedad adicionalCualquier valor
  • conditionsarray

    maxItems: 20

  • Cada elementoobject
  • fieldstringobligatorio

    Se omiten niveles anidados adicionales

  • opstringobligatorio

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

    Se omiten niveles anidados adicionales

  • valueno especificado

    Se omiten niveles anidados adicionales

  • matchstring

    enum: "all", "any"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • countintegerobligatorio
  • missing_consent_evidence_countintegerobligatorio
  • samplearrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • excludedobjectobligatorio
  • suppressedintegerobligatorio
  • not_subscribedintegerobligatorio
  • missing_recipient_hashintegerobligatorio
  • missing_consent_evidenceintegerobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

status
query
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementono especificado
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • checksarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • allOf 2object
  • approval_idstringobligatorio

    format: "uuid"

  • broadcast_idstring | nullobligatorio

    format: "uuid"

  • import_idstring | nullobligatorio

    format: "uuid"

  • blockersarrayobligatorio
  • Cada elementoobject
  • codestringobligatorio

    Se omiten niveles anidados adicionales

  • messagestringobligatorio

    Se omiten niveles anidados adicionales

  • executionsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    Se omiten niveles anidados adicionales

  • resultobjectobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • execution_job_idsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • execution_statusstringobligatorio

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

  • human_review_urlstring | nullobligatorio
  • human_review_instructionstring | nullobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring
  • allOf 2object
  • approval_idstringobligatorio

    format: "uuid"

  • broadcast_idstring | nullobligatorio

    format: "uuid"

  • import_idstring | nullobligatorio

    format: "uuid"

  • blockersarrayobligatorio
  • Cada elementoobject
  • codestringobligatorio
  • messagestringobligatorio
  • executionsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio
  • resultobjectobligatorio
  • Propiedad adicionalCualquier valor
  • error_codestring | nullobligatorio
  • execution_job_idsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • execution_statusstringobligatorio

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

  • human_review_urlstring | nullobligatorio
  • human_review_instructionstring | nullobligatorio

Ejemplo de 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'

Formularios de registro

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

Los formularios de registro del producto, con código de inserción, enlace alojado, vistas, registros, confirmaciones, suscriptores y tasa de conversión.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

include_archived
query
  • valueboolean

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • public_idstringobligatorio

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

  • namestringobligatorio
  • kindstringobligatorio

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

  • list_idstringobligatorio

    format: "uuid"

  • list_namestringobligatorio
  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • double_opt_inbooleanobligatorio
  • configobjectobligatorio

    Sin propiedades adicionales

  • 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

  • Cada elementoobject

    Las preguntas Select requieren options. Los demás tipos no aceptan options. Las claves deben ser únicas y no pueden usar campos reservados del formulario; las omitidas se derivan de las etiquetas.

    Sin propiedades adicionales

  • keystring

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

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

    Se omiten niveles anidados adicionales

  • typestring

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

    Se omiten niveles anidados adicionales

  • requiredboolean

    default: false

    Se omiten niveles anidados adicionales

  • placeholderstring

    maxLength: 80

    Se omiten niveles anidados adicionales

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

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

  • viewsintegerobligatorio
  • submissionsintegerobligatorio
  • confirmationsintegerobligatorio
  • subscribersintegerobligatorio
  • versionintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • hosted_urlstringobligatorio
  • embed_codestringobligatorio
  • embed_slotstringobligatorio
  • open_buttonstringobligatorio
  • conversion_ratenumberobligatorio

Ejemplo de 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 formulario: kind (inline, popup, bar, slide_in, page), list_id o list_name, mailbox_id opcional, double_opt_in (true por defecto) y config parcial.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

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

    Sin propiedades adicionales

  • 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

  • Cada elementoobject

    Las preguntas Select requieren options. Los demás tipos no aceptan options. Las claves deben ser únicas y no pueden usar campos reservados del formulario; las omitidas se derivan de las etiquetas.

    Sin propiedades adicionales

  • keystring

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

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

    minLength: 1 · maxLength: 80

Respuesta correcta 200

Respuesta correcta.

application/json

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

    Sin propiedades adicionales

  • 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

  • Cada elementoobject

    Las preguntas Select requieren options. Los demás tipos no aceptan options. Las claves deben ser únicas y no pueden usar campos reservados del formulario; las omitidas se derivan de las etiquetas.

    Sin propiedades adicionales

  • keystring

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

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

    minLength: 1 · maxLength: 80

    Se omiten niveles anidados adicionales

  • 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

Ejemplo de 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

Si este producto puede activar formularios (su canal de producto envía desde un dominio verificado).

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • forms_enabledbooleanobligatorio
  • reasonstring

    enum: "verified_domain_required"

Ejemplo de 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

Renderiza la configuración no guardada de un formulario como una página HTML completa en un sitio web de muestra.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • kindstring

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

  • configobject

    Sin propiedades adicionales

  • 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

  • Cada elementoobject

    Las preguntas Select requieren options. Los demás tipos no aceptan options. Las claves deben ser únicas y no pueden usar campos reservados del formulario; las omitidas se derivan de las etiquetas.

    Sin propiedades adicionales

  • keystring

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

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

    minLength: 1 · maxLength: 80

  • double_opt_inboolean
  • statestring

    enum: "form", "success"

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • kindstringobligatorio

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

  • statestringobligatorio

    enum: "form", "success"

  • htmlstringobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

formId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • public_idstringobligatorio

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

  • namestringobligatorio
  • kindstringobligatorio

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

  • list_idstringobligatorio

    format: "uuid"

  • list_namestringobligatorio
  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • double_opt_inbooleanobligatorio
  • configobjectobligatorio

    Sin propiedades adicionales

  • 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

  • Cada elementoobject

    Las preguntas Select requieren options. Los demás tipos no aceptan options. Las claves deben ser únicas y no pueden usar campos reservados del formulario; las omitidas se derivan de las etiquetas.

    Sin propiedades adicionales

  • keystring

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

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

    minLength: 1 · maxLength: 80

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

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

  • viewsintegerobligatorio
  • submissionsintegerobligatorio
  • confirmationsintegerobligatorio
  • subscribersintegerobligatorio
  • versionintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • hosted_urlstringobligatorio
  • embed_codestringobligatorio
  • embed_slotstringobligatorio
  • open_buttonstringobligatorio
  • conversion_ratenumberobligatorio

Ejemplo de 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}

Actualización parcial; config se combina con la configuración guardada; status active, paused o archived; expected_version protege de ediciones simultáneas.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

formId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

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

    Sin propiedades adicionales

  • 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

  • Cada elementoobject

    Las preguntas Select requieren options. Los demás tipos no aceptan options. Las claves deben ser únicas y no pueden usar campos reservados del formulario; las omitidas se derivan de las etiquetas.

    Sin propiedades adicionales

  • keystring

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

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

    minLength: 1 · maxLength: 80

  • statusstring

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

  • expected_versioninteger

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • public_idstringobligatorio

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

  • namestringobligatorio
  • kindstringobligatorio

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

  • list_idstringobligatorio

    format: "uuid"

  • list_namestringobligatorio
  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • double_opt_inbooleanobligatorio
  • configobjectobligatorio

    Sin propiedades adicionales

  • 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

  • Cada elementoobject

    Las preguntas Select requieren options. Los demás tipos no aceptan options. Las claves deben ser únicas y no pueden usar campos reservados del formulario; las omitidas se derivan de las etiquetas.

    Sin propiedades adicionales

  • keystring

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

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

    minLength: 1 · maxLength: 80

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

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

  • viewsintegerobligatorio
  • submissionsintegerobligatorio
  • confirmationsintegerobligatorio
  • subscribersintegerobligatorio
  • versionintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • hosted_urlstringobligatorio
  • embed_codestringobligatorio
  • embed_slotstringobligatorio
  • open_buttonstringobligatorio
  • conversion_ratenumberobligatorio
  • replayedbooleanobligatorio

Ejemplo de 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

Renderiza un formulario guardado, opcionalmente con cambios no guardados, en estado de formulario o de éxito.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

formId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • kindstring

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

  • configobject

    Sin propiedades adicionales

  • 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

  • Cada elementoobject

    Las preguntas Select requieren options. Los demás tipos no aceptan options. Las claves deben ser únicas y no pueden usar campos reservados del formulario; las omitidas se derivan de las etiquetas.

    Sin propiedades adicionales

  • keystring

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

  • labelstringobligatorio

    minLength: 1 · maxLength: 80

  • typestring

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

  • requiredboolean

    default: false

  • placeholderstring

    maxLength: 80

  • optionsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

    minLength: 1 · maxLength: 80

  • double_opt_inboolean
  • statestring

    enum: "form", "success"

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • kindstringobligatorio

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

  • statestringobligatorio

    enum: "form", "success"

  • htmlstringobligatorio

Ejemplo de 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"
}'

Formularios públicos de registro

GET/v1/forms/embed.js

El cargador de formularios de registro. Una etiqueta script por formulario (data-banger-form="f_…") renderiza el widget en una raíz shadow y gestiona activadores y envíos.

Endpoint público: no requiere autenticación.

Parámetros

No se especifican parámetros.

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Cargador de formularios de registro insertable.

text/javascript

  • valuestring

Ejemplo de curl

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

Leer la política CORS de registro público

Endpoint público: no requiere autenticación.

Parámetros

No se especifican parámetros.

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Respuesta correcta.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Leer las cabeceras del script de inserción

Endpoint público: no requiere autenticación.

Parámetros

No se especifican parámetros.

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

El contrato no especifica un esquema de respuesta.

Ejemplo de curl

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

Widget renderizado de un formulario activo (html, css, enlace de fuente) y comportamiento de la ventana emergente. Público, CORS abierto, caché de un minuto.

Endpoint público: no requiere autenticación.

Parámetros

Nombre / ubicaciónEsquema
publicId
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • kindstringobligatorio

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

  • langstringobligatorio
  • htmlstringobligatorio
  • cssstringobligatorio
  • font_hrefstringobligatorio
  • redirect_urlstringobligatorio
  • behaviorobjectobligatorio
  • delay_secondsnumberobligatorio
  • scroll_percentnumberobligatorio
  • exit_intentbooleanobligatorio
  • frequency_daysnumberobligatorio

Ejemplo de curl

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

Leer la política CORS de registro público

Endpoint público: no requiere autenticación.

Parámetros

Nombre / ubicaciónEsquema
publicId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Respuesta correcta.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Un visitante se registra. Codificado como formulario (email, name, page, lang opcional) para evitar la comprobación previa del navegador; también acepta JSON. Los mensajes y el correo de confirmación usan el idioma del formulario, o lang, o Accept-Language. Con doble confirmación se envía un correo de confirmación y la persona entra en la lista después de confirmar.

Endpoint público: no requiere autenticación.

Parámetros

Nombre / ubicaciónEsquema
publicId
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud obligatorio

application/x-www-form-urlencoded

  • valueobject

    Las respuestas personalizadas usan x_<field key> (o la clave sin prefijo). Las obligatorias dependen de la configuración del formulario. El controlador lee los primeros 8000 caracteres del cuerpo.

  • emailstringobligatorio

    format: "email" · maxLength: 320

  • namestring

    maxLength: 100

  • pagestring

    maxLength: 2000

  • elapsednumber | string

    Milisegundos transcurridos desde que se mostró el formulario.

  • langstring

    maxLength: 35

  • localestring

    maxLength: 35

  • websitestring

    Honeypot; déjalo vacío.

    maxLength: 200

  • Propiedad adicionalstring | number

application/json

  • valueobject

    Las respuestas personalizadas usan x_<field key> (o la clave sin prefijo). Las obligatorias dependen de la configuración del formulario. El controlador lee los primeros 8000 caracteres del cuerpo.

  • emailstringobligatorio

    format: "email" · maxLength: 320

  • namestring

    maxLength: 100

  • pagestring

    maxLength: 2000

  • elapsednumber | string

    Milisegundos transcurridos desde que se mostró el formulario.

  • langstring

    maxLength: 35

  • localestring

    maxLength: 35

  • websitestring

    Honeypot; déjalo vacío.

    maxLength: 200

  • Propiedad adicionalstring | number

Respuesta correcta 200

Registro aceptado.

application/json

  • valueobject
  • okbooleanobligatorio

    const: true

  • statusstringobligatorio

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

  • redirect_urlstring

Ejemplo de 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

Leer la política CORS de registro público

Endpoint público: no requiere autenticación.

Parámetros

Nombre / ubicaciónEsquema
publicId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Respuesta correcta.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Cuenta una visualización de un widget.

Endpoint público: no requiere autenticación.

Parámetros

Nombre / ubicaciónEsquema
publicId
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Contado.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Leer la política CORS de registro público

Endpoint público: no requiere autenticación.

Parámetros

Nombre / ubicaciónEsquema
publicId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Respuesta correcta.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Plantillas

GET/v1/workspaces/{workspaceId}/templates

listTemplates

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • subjectstringobligatorio
  • body_textstringobligatorio
  • contentobjectobligatorio
  • Propiedad adicionalstring
  • slotsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobligatorio

    enum: "active", "archived"

  • originstringobligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Propiedad adicionalstring
  • slotsarray
  • Cada elementoobject
  • keystringobligatorio

    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

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • subjectstringobligatorio
  • body_textstringobligatorio
  • contentobjectobligatorio
  • Propiedad adicionalstring
  • slotsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobligatorio

    enum: "active", "archived"

  • originstringobligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Renderiza un diseño no guardado con valores de muestra o de audiencia e informa de los marcadores sin completar.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Propiedad adicionalstring
  • audienceobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • sample_emailstring

    Correo de un contacto existente. Las direcciones desconocidas devuelven sample_recipient_not_found. Omítelo para usar valores de muestra o de audiencia.

    maxLength: 320

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • subjectstringobligatorio
  • body_textstringobligatorio
  • body_htmlstring
  • font_renderingarrayobligatorio
  • Cada elementoobject
  • stackstringobligatorio
  • fontstringobligatorio
  • web_fontbooleanobligatorio
  • clientsarrayobligatorio
  • Cada elementoobject
  • clientstringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • fontstringobligatorio

    Se omiten niveles anidados adicionales

  • web_fontbooleanobligatorio

    Se omiten niveles anidados adicionales

  • fallbackbooleanobligatorio

    Se omiten niveles anidados adicionales

  • sample_recipientno especificadoobligatorio
  • anyOf 1object
  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • anyOf 2null
  • required_variablesarrayobligatorio
  • Cada elementostring
  • effective_slotsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • audience_countinteger
  • gapsarray
  • Cada elementoobject
  • variablestringobligatorio
  • missing_countintegerobligatorio
  • sample_emailsarrayobligatorio
  • Cada elementostring

Ejemplo de 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 diseño con su HTML en línea, contenido para completar y slots efectivos.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

templateId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • subjectstringobligatorio
  • body_textstringobligatorio
  • contentobjectobligatorio
  • Propiedad adicionalstring
  • slotsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobligatorio

    enum: "active", "archived"

  • originstringobligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

templateId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestring

    maxLength: 200

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    minLength: 1 · maxLength: 2000000

  • contentobject
  • Propiedad adicionalstring

    maxLength: 20000

  • slotsarray

    maxItems: 100

  • Cada elementoobject
  • keystringobligatorio

    maxLength: 200

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstring

    enum: "active", "archived"

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • subjectstringobligatorio
  • body_textstringobligatorio
  • contentobjectobligatorio
  • Propiedad adicionalstring
  • slotsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobligatorio

    enum: "active", "archived"

  • originstringobligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

templateId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestring

    maxLength: 200

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • subjectstringobligatorio
  • body_textstringobligatorio
  • contentobjectobligatorio
  • Propiedad adicionalstring
  • slotsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • statusstringobligatorio

    enum: "active", "archived"

  • originstringobligatorio

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

  • created_by_actor_idstring | null
  • campaign_idstring | null

    format: "uuid"

  • message_kindstring
  • starter_idstring | null
  • starter_versioninteger | null
  • versionintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • body_html_urlstring

    format: "uri"

Ejemplo de 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

Renderiza un diseño guardado con valores de muestra o de audiencia e informa de los marcadores sin completar.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

templateId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • contentobject
  • Propiedad adicionalstring
  • audienceobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • sample_emailstring

    Correo de un contacto existente. Las direcciones desconocidas devuelven sample_recipient_not_found. Omítelo para usar valores de muestra o de audiencia.

    maxLength: 320

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • subjectstringobligatorio
  • body_textstringobligatorio
  • body_htmlstring
  • font_renderingarrayobligatorio
  • Cada elementoobject
  • stackstringobligatorio
  • fontstringobligatorio
  • web_fontbooleanobligatorio
  • clientsarrayobligatorio
  • Cada elementoobject
  • clientstringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • fontstringobligatorio

    Se omiten niveles anidados adicionales

  • web_fontbooleanobligatorio

    Se omiten niveles anidados adicionales

  • fallbackbooleanobligatorio

    Se omiten niveles anidados adicionales

  • sample_recipientno especificadoobligatorio
  • anyOf 1object
  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • anyOf 2null
  • required_variablesarrayobligatorio
  • Cada elementostring
  • effective_slotsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • audience_countinteger
  • gapsarray
  • Cada elementoobject
  • variablestringobligatorio
  • missing_countintegerobligatorio
  • sample_emailsarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

templateId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Cuerpo de plantilla de correo HTML sin scripts.

text/html

  • valuestring

Ejemplo de curl

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

Campañas

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

previewCampaignCoverage

Marcadores obligatorios que una audiencia no puede completar, antes de guardar cualquier Campaña.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • body_htmlstring

    maxLength: 2000000

  • contentobject
  • Propiedad adicionalstring
  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • sample_emailstring

    maxLength: 320

  • template_idstring

    format: "uuid"

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • required_variablesarrayobligatorio
  • Cada elementostring
  • audience_countintegerobligatorio
  • gapsarrayobligatorio
  • Cada elementoobject
  • variablestringobligatorio
  • missing_countintegerobligatorio
  • sample_emailsarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • 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
  • Cada elementostring
  • expires_after_secondsinteger | null
  • statusstringobligatorio
  • versionintegerobligatorio
  • subject_variantsarray
  • Cada elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propiedad adicionalstring
  • audience_queryobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada 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
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestringobligatorio

    maxLength: 200

  • mailbox_idstring

    format: "uuid"

  • template_idstringobligatorio

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Cada elementostring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0

  • audienceobjectobligatorio
  • all_subscribedboolean

    default: false

  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • 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
  • Cada elementostring
  • expires_after_secondsinteger | null
  • statusstringobligatorio
  • versionintegerobligatorio
  • subject_variantsarray
  • Cada elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propiedad adicionalstring
  • audience_queryobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada 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
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • countintegerobligatorio
  • missing_consent_evidence_countintegerobligatorio
  • samplearrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • excludedobjectobligatorio
  • suppressedintegerobligatorio
  • not_subscribedintegerobligatorio
  • missing_recipient_hashintegerobligatorio
  • missing_consent_evidenceintegerobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • 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
  • Cada elementostring
  • expires_after_secondsinteger | null
  • statusstringobligatorio
  • versionintegerobligatorio
  • subject_variantsarray
  • Cada elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propiedad adicionalstring
  • audience_queryobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada 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
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestringobligatorio

    maxLength: 200

  • mailbox_idstringobligatorio

    format: "uuid"

  • template_idstring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Cada elementostring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0

  • audienceobjectobligatorio

    Propiedades no especificadas en el contrato

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • 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
  • Cada elementostring
  • expires_after_secondsinteger | null
  • statusstringobligatorio
  • versionintegerobligatorio
  • subject_variantsarray
  • Cada elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propiedad adicionalstring
  • audience_queryobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada 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
  • Propiedad adicionalCualquier valor

Ejemplo de 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}

Eliminar una campaña no enviada

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • deletedbooleanobligatorio

    const: true

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada 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"

  • pageobjectobligatorio
  • next_cursorstring
  • has_morebooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • typestringobligatorio
  • occurred_atstringobligatorio

    format: "date-time"

  • actor_idstring | nullobligatorio
  • detailobjectobligatorio
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • mailbox_idstringobligatorio

    format: "uuid"

  • template_idstring | nullobligatorio

    format: "uuid"

  • statusstringobligatorio
  • audience_queryobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • scheduled_atstring | nullobligatorio

    format: "date-time"

  • started_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • mailbox_idstringobligatorio

    format: "uuid"

  • template_idstring | nullobligatorio

    format: "uuid"

  • statusstringobligatorio
  • audience_queryobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • scheduled_atstring | nullobligatorio

    format: "date-time"

  • started_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • mailbox_idstringobligatorio

    format: "uuid"

  • template_idstring | nullobligatorio

    format: "uuid"

  • statusstringobligatorio
  • audience_queryobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • scheduled_atstring | nullobligatorio

    format: "date-time"

  • started_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Obsoleto

Límite obsoleto de programación directa. Siempre devuelve governed_review_required; usa el endpoint de revisión de campaña para aplicar el umbral de destinatarios del espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta

El contrato no especifica una respuesta correcta.

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • tostringobligatorio

    minLength: 3 · maxLength: 320

  • data_modestring

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

  • contact_emailstring

    maxLength: 320

  • variant_keystring

    maxLength: 80

  • localestring

Respuesta correcta 202

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • action_kindstringobligatorio

    enum: "transactional.send"

  • idstringobligatorio

    format: "uuid"

  • send_intent_idstringobligatorio

    format: "uuid"

  • provider_attempt_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio
  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • expected_versioninteger

    minimum: 1

  • expected_design_versioninteger

    minimum: 1

  • recipient_selectionobject

    Sin propiedades adicionales

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • scheduled_atstring

    format: "date-time"

  • send_nowboolean

    const: true

  • approve_as_launcherboolean

    Una persona que pulsa Enviar aprueba esta solicitud exacta cuando la política de revisión exige una persona. Se ignora para claves de API y agentes, que esperan en Aprobaciones.

  • oneOf 1no especificado
  • oneOf 2no especificado

Respuesta correcta 201

Aprobación de programación de campaña creada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Archivar una campaña

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio
  • archived_atstring | nullobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Desarchivar una campaña

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio
  • archived_atstring | nullobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Guardar de uno a cuatro diseños de correo de campaña

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

campaignId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • mailbox_idstringobligatorio

    format: "uuid"

  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • automatic_translationboolean
  • variantsarrayobligatorio

    minItems: 1 · maxItems: 4

  • Cada elementoobject
  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 2000000

  • subjectstring

    maxLength: 10000

  • body_textstring

    maxLength: 2000000

  • contentobject
  • Propiedad adicionalstring

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestringobligatorio
  • 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
  • Cada elementostring
  • expires_after_secondsinteger | null
  • statusstringobligatorio
  • versionintegerobligatorio
  • subject_variantsarray
  • Cada elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propiedad adicionalstring
  • audience_queryobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada 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
  • Propiedad adicionalCualquier valor
  • design_template_idstringobligatorio

    format: "uuid"

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

Campañas

POST/v1/workspaces/{workspaceId}/broadcasts

createBroadcast

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • mailbox_idstring

    Dirección de remitente existente. Omítela para usar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado.

    format: "uuid"

  • template_idstring

    format: "uuid"

  • audienceobject

    Sin propiedades adicionales

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Cada elementostring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0 · maximum: 7

  • expires_after_secondsinteger

    Descarta los destinatarios no enviados después de estos segundos desde la hora programada; siete días por defecto.

    minimum: 1 · maximum: 604800

  • content_overridesobject
  • Propiedad adicionalstring

    maxLength: 20000

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1no especificado
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • 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
  • Cada elementostring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobligatorio
  • subject_variantsarray
  • Cada elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propiedad adicionalstring
  • audience_queryobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • 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
  • Propiedad adicionalCualquier valor
  • broadcast_idstringobligatorio

    format: "uuid"

  • sender_addressstring | nullobligatorio
  • sending_blockerno especificadoobligatorio
  • anyOf 1object
  • codestringobligatorio

    Se omiten niveles anidados adicionales

  • messagestringobligatorio

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • designno especificadoobligatorio
  • anyOf 1object
  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • product_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • namestring

    Se omiten niveles anidados adicionales

  • subjectstring

    Se omiten niveles anidados adicionales

  • body_textstring

    Se omiten niveles anidados adicionales

  • contentobject

    Se omiten niveles anidados adicionales

  • slotsarray

    Se omiten niveles anidados adicionales

  • statusstring

    enum: "active", "archived"

    Se omiten niveles anidados adicionales

  • originstring

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

    Se omiten niveles anidados adicionales

  • created_by_actor_idstring | null

    Se omiten niveles anidados adicionales

  • campaign_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • message_kindstring

    Se omiten niveles anidados adicionales

  • starter_idstring | null

    Se omiten niveles anidados adicionales

  • starter_versioninteger | null

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • created_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • updated_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • body_html_urlstring

    format: "uri"

    Se omiten niveles anidados adicionales

  • body_htmlstring | null

    Se omiten niveles anidados adicionales

  • body_html_b2_keystring | null

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • managed_contentno especificadoobligatorio
  • anyOf 1no especificado
  • allOf 1object

    Se omiten niveles anidados adicionales

  • allOf 2object

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • subjectstring | nullobligatorio
  • sender_mailboxno especificadoobligatorio
  • anyOf 1object
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • addressstringobligatorio

    Se omiten niveles anidados adicionales

  • display_namestringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • reply_mailboxno especificadoobligatorio
  • anyOf 1object
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • addressstringobligatorio

    Se omiten niveles anidados adicionales

  • display_namestringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • design_versioninteger | nullobligatorio
  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • allOf 2object
  • replayedbooleanobligatorio
  • allOf 2object
  • previewobject
  • subjectstringobligatorio
  • preheaderstring
  • htmlstringobligatorio
  • textstringobligatorio
  • localestringobligatorio
  • directionstringobligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Cada elementostring
  • Propiedad adicionalCualquier valor
  • translation_jobsarrayobligatorio
  • Cada elementostring

    format: "uuid"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

broadcastId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • 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
  • Cada elementostring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobligatorio
  • subject_variantsarray
  • Cada elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propiedad adicionalstring
  • audience_queryobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada 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
  • Propiedad adicionalCualquier valor
  • broadcast_idstringobligatorio

    format: "uuid"

  • sender_addressstring | nullobligatorio
  • sending_blockerno especificadoobligatorio
  • anyOf 1object
  • codestringobligatorio
  • messagestringobligatorio
  • anyOf 2null
  • designno especificadoobligatorio
  • anyOf 1object
  • idstring

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestring
  • subjectstring
  • body_textstring
  • contentobject
  • Propiedad adicionalstring
  • slotsarray
  • Cada elementoobject
  • keystringobligatorio

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

    Se omiten niveles anidados adicionales

  • labelstring

    maxLength: 120

    Se omiten niveles anidados adicionales

  • typestring

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

    Se omiten niveles anidados adicionales

  • helpstring

    maxLength: 300

    Se omiten niveles anidados adicionales

  • 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_contentno especificadoobligatorio
  • anyOf 1no especificado
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio

    minimum: 1

  • review_requiredbooleanobligatorio
  • 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
  • Propiedad adicionalCualquier valor
  • translationsarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • translation_jobsarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • allOf 2object
  • source_revisionno especificadoobligatorio
  • anyOf 1object

    Se omiten niveles anidados adicionales

  • anyOf 2null

    Se omiten niveles anidados adicionales

  • published_source_revisionno especificadoobligatorio
  • anyOf 1object

    Se omiten niveles anidados adicionales

  • anyOf 2null

    Se omiten niveles anidados adicionales

  • translationsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • subjectstring | nullobligatorio
  • sender_mailboxno especificadoobligatorio
  • anyOf 1object
  • idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • display_namestringobligatorio
  • statusstringobligatorio
  • anyOf 2null
  • reply_mailboxno especificadoobligatorio
  • anyOf 1object
  • idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • display_namestringobligatorio
  • statusstringobligatorio
  • anyOf 2null
  • design_versioninteger | nullobligatorio
  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

broadcastId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestring

    minLength: 1 · maxLength: 200

  • mailbox_idstring

    format: "uuid"

  • template_idstring

    format: "uuid"

  • audienceobject

    Sin propiedades adicionales

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • subject_variantsarray

    maxItems: 8

  • Cada elementostring

    minLength: 1 · maxLength: 998

  • selected_subject_variantinteger

    minimum: 0 · maximum: 7

  • expires_after_secondsinteger

    Descarta los destinatarios no enviados después de estos segundos desde la hora programada.

    minimum: 1 · maximum: 604800

  • content_overridesobject
  • Propiedad adicionalstring

    maxLength: 20000

  • expected_versionintegerobligatorio

    minimum: 1

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • 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
  • Cada elementostring
  • expires_after_secondsinteger | null
  • statusstring
  • versionintegerobligatorio
  • subject_variantsarray
  • Cada elementostring
  • selected_subject_variantinteger
  • content_overridesobject
  • Propiedad adicionalstring
  • audience_queryobject

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada 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
  • Propiedad adicionalCualquier valor
  • broadcast_idstringobligatorio

    format: "uuid"

  • sender_addressstring | nullobligatorio
  • sending_blockerno especificadoobligatorio
  • anyOf 1object
  • codestringobligatorio
  • messagestringobligatorio
  • anyOf 2null
  • designno especificadoobligatorio
  • anyOf 1object
  • idstring

    format: "uuid"

  • product_idstring

    format: "uuid"

  • namestring
  • subjectstring
  • body_textstring
  • contentobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • slotsarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • 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_contentno especificadoobligatorio
  • anyOf 1no especificado
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • versionintegerobligatorio

    minimum: 1

    Se omiten niveles anidados adicionales

  • review_requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • submitted_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • approved_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revisionobject

    Se omiten niveles anidados adicionales

  • translationsarray

    Se omiten niveles anidados adicionales

  • translation_jobsarray

    Se omiten niveles anidados adicionales

  • allOf 2object
  • source_revisionno especificadoobligatorio

    Se omiten niveles anidados adicionales

  • published_source_revisionno especificadoobligatorio

    Se omiten niveles anidados adicionales

  • translationsarrayobligatorio

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • subjectstring | nullobligatorio
  • sender_mailboxno especificadoobligatorio
  • anyOf 1object
  • idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • display_namestringobligatorio
  • statusstringobligatorio
  • anyOf 2null
  • reply_mailboxno especificadoobligatorio
  • anyOf 1object
  • idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • display_namestringobligatorio
  • statusstringobligatorio
  • anyOf 2null
  • design_versioninteger | nullobligatorio
  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • allOf 2object
  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • audienceobjectobligatorio

    Sin propiedades adicionales

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • template_idstring

    format: "uuid"

  • subjectstring

    minLength: 0 · maxLength: 10000

  • content_overridesobject
  • Propiedad adicionalstring

    maxLength: 20000

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • countintegerobligatorio
  • missing_consent_evidence_countintegerobligatorio
  • samplearrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • excludedobjectobligatorio
  • suppressedintegerobligatorio
  • not_subscribedintegerobligatorio
  • missing_recipient_hashintegerobligatorio
  • missing_consent_evidenceintegerobligatorio
  • allOf 2object
  • eligible_countintegerobligatorio
  • required_variablesarrayobligatorio
  • Cada elementostring
  • missing_personalization_fieldsarrayobligatorio
  • Cada elementoobject
  • variablestringobligatorio
  • missingCountintegerobligatorio
  • sampleEmailsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

broadcastId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • audienceobject

    Sin propiedades adicionales

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • countintegerobligatorio
  • missing_consent_evidence_countintegerobligatorio
  • samplearrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • excludedobjectobligatorio
  • suppressedintegerobligatorio
  • not_subscribedintegerobligatorio
  • missing_recipient_hashintegerobligatorio
  • missing_consent_evidenceintegerobligatorio
  • allOf 2object
  • eligible_countintegerobligatorio
  • required_variablesarrayobligatorio
  • Cada elementostring
  • missing_personalization_fieldsarrayobligatorio
  • Cada elementoobject
  • variablestringobligatorio
  • missingCountintegerobligatorio
  • sampleEmailsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

broadcastId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataobjectobligatorio
  • broadcast_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • readybooleanobligatorio
  • blockersarrayobligatorio
  • Cada elementoobject
  • codestringobligatorio
  • messagestringobligatorio
  • audienceno especificadoobligatorio
  • allOf 1object
  • countintegerobligatorio
  • missing_consent_evidence_countintegerobligatorio
  • samplearrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • emailstringobligatorio

    Se omiten niveles anidados adicionales

  • display_namestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • attributesobjectobligatorio

    Se omiten niveles anidados adicionales

  • excludedobjectobligatorio
  • suppressedintegerobligatorio
  • not_subscribedintegerobligatorio
  • missing_recipient_hashintegerobligatorio
  • missing_consent_evidenceintegerobligatorio
  • allOf 2object
  • eligible_countintegerobligatorio
  • required_variablesarrayobligatorio
  • Cada elementostring
  • missing_personalization_fieldsarrayobligatorio
  • Cada elementoobject
  • variablestringobligatorio

    Se omiten niveles anidados adicionales

  • missingCountintegerobligatorio

    Se omiten niveles anidados adicionales

  • sampleEmailsarrayobligatorio

    Se omiten niveles anidados adicionales

  • audienceobjectobligatorio

    Selecciona todos los contactos suscritos o al menos una lista no vacía contact_ids, list_ids o segment_ids.

  • all_subscribedboolean
  • contact_idsarray

    maxItems: 10000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • list_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • segment_idsarray

    maxItems: 1000

  • Cada elementostring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • campaign_versionintegerobligatorio
  • design_versioninteger | nullobligatorio
  • languagesno especificadoobligatorio
  • anyOf 1object

    Los idiomas de la audiencia que siguen traduciéndose nunca retienen la Campaña. Sus lectores la reciben cuando la traducción está lista y se omiten (translation_failed, translation_awaiting_review o translation_still_preparing) si no está lista en un día desde el envío.

  • requestedarrayobligatorio
  • Cada elementoobject
  • localestringobligatorio

    Se omiten niveles anidados adicionales

  • countintegerobligatorio

    Se omiten niveles anidados adicionales

  • pending_localesarrayobligatorio
  • Cada elementostring
  • waiting_localesarrayobligatorio
  • Cada elementostring
  • anyOf 2null
  • sendingobjectobligatorio
  • 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_paceno especificadoobligatorio
  • anyOf 1object
  • daysintegerobligatorio
  • daily_limitintegerobligatorio
  • messagestringobligatorio
  • anyOf 2null
  • approval_requirementsobjectobligatorio
  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio
  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring
  • footerobjectobligatorio
  • identity_presentbooleanobligatorio
  • address_presentbooleanobligatorio
  • checks_are_advisorybooleanobligatorio

    const: true

  • next_actionstringobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada 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"

  • pageobjectobligatorio
  • next_cursorstring
  • has_morebooleanobligatorio
  • delivery_semanticsstringobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

broadcastId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • typestringobligatorio
  • occurred_atstringobligatorio

    format: "date-time"

  • actor_idstring | nullobligatorio
  • detailobjectobligatorio
  • Propiedad adicionalCualquier valor
  • delivery_semanticsstringobligatorio

Ejemplo de 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'

Jornadas

GET/v1/workspaces/{workspaceId}/journeys

listJourneys

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • 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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Jornadas del producto.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementono especificado
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring

    Se omiten niveles anidados adicionales

  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

    Se omiten niveles anidados adicionales

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

    Se omiten niveles anidados adicionales

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring

    Se omiten niveles anidados adicionales

  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

    Se omiten niveles anidados adicionales

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

    Se omiten niveles anidados adicionales

  • preheaderstring

    maxLength: 100000

    Se omiten niveles anidados adicionales

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

    Se omiten niveles anidados adicionales

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

    Se omiten niveles anidados adicionales

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

    Se omiten niveles anidados adicionales

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject

    Se omiten niveles anidados adicionales

  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • positioninteger

    minimum: 1 · maximum: 100

    Se omiten niveles anidados adicionales

  • kindstringobligatorio

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

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

    Se omiten niveles anidados adicionales

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

    Se omiten niveles anidados adicionales

  • armsarray

    minItems: 2 · maxItems: 4

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

  • oneOf 1object

    Sin propiedades adicionales

  • typestringobligatorio

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

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultno especificado

    Debe coincidir con el tipo del campo.

    Se omiten niveles anidados adicionales

  • oneOf 2object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "object"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultobject

    Se omiten niveles anidados adicionales

  • propertiesobjectobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "list"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultarray

    Se omiten niveles anidados adicionales

  • itemsno especificadoobligatorio

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring
  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • 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
  • Cada elementostring
  • variablesobject
  • Propiedad adicionalCualquier valor
  • published_variablesobject
  • Propiedad adicionalCualquier valor
  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio

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

  • labelstringobligatorio

    maxLength: 120

  • allocationnumberobligatorio

    minimum: 0 · maximum: 100

  • stepsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

Respuesta correcta 201

Jornada creada.

application/json

  • valueobject
  • datano especificado
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_localestring | null

    Se omiten niveles anidados adicionales

  • configured_localesarray

    Se omiten niveles anidados adicionales

  • variablesobject

    Se omiten niveles anidados adicionales

  • published_variablesobject

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Definición de Jornada, actividad de inscripción y pruebas.

application/json

  • valueobject
  • datano especificado
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_localestring | null

    Se omiten niveles anidados adicionales

  • configured_localesarray

    Se omiten niveles anidados adicionales

  • variablesobject

    Se omiten niveles anidados adicionales

  • published_variablesobject

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

  • oneOf 1object

    Sin propiedades adicionales

  • typestringobligatorio

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

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultno especificado

    Debe coincidir con el tipo del campo.

    Se omiten niveles anidados adicionales

  • oneOf 2object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "object"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultobject

    Se omiten niveles anidados adicionales

  • propertiesobjectobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "list"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultarray

    Se omiten niveles anidados adicionales

  • itemsno especificadoobligatorio

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring
  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • 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
  • Cada elementostring
  • variablesobject
  • Propiedad adicionalCualquier valor
  • published_variablesobject
  • Propiedad adicionalCualquier valor
  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio

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

  • labelstringobligatorio

    maxLength: 120

  • allocationnumberobligatorio

    minimum: 0 · maximum: 100

  • stepsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

Respuesta correcta 200

Jornada actualizada.

application/json

  • valueobject
  • datano especificado
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_localestring | null

    Se omiten niveles anidados adicionales

  • configured_localesarray

    Se omiten niveles anidados adicionales

  • variablesobject

    Se omiten niveles anidados adicionales

  • published_variablesobject

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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}

Actualiza campos seleccionados de la Jornada conservando los demás campos de definición.

Admite name, description, mailbox_id, from_local_part, trigger, audience, goal, exit, approval_mode, api y steps. Los objetos trigger, goal, api y exit se combinan un nivel; steps reemplaza el árbol proporcionado. Incluye expected_version para rechazar una edición obsoleta.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • expected_versioninteger

    minimum: 1

  • namestring
  • descriptionstring
  • mailbox_idstring

    format: "uuid"

  • from_local_partstring
  • triggerobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject
  • Propiedad adicionalCualquier valor
  • exitobject
  • Propiedad adicionalCualquier valor
  • approval_modestring

    enum: "policy", "required"

  • apiobject
  • Propiedad adicionalCualquier valor
  • stepsarray
  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • 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
  • Cada elementostring
  • variablesobject
  • Propiedad adicionalCualquier valor
  • published_variablesobject
  • Propiedad adicionalCualquier valor
  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio

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

  • labelstringobligatorio

    maxLength: 120

  • allocationnumberobligatorio

    minimum: 0 · maximum: 100

  • stepsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

Respuesta correcta 200

Jornada actualizada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_localestring | null

    Se omiten niveles anidados adicionales

  • configured_localesarray

    Se omiten niveles anidados adicionales

  • variablesobject

    Se omiten niveles anidados adicionales

  • published_variablesobject

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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

Archiva la jornada, la elimina de la lista predeterminada y detiene las inscripciones activas. Conserva el historial de envío.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Jornada eliminada.

Sin cuerpo de respuesta.

Ejemplo de 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

Convierte una Jornada heredada pausada o en borrador en contenido gestionado preparado.

Conversión irreversible. Para una Jornada con un paso de correo, proporciona contract. Para varios correos, incluidas ramas divididas, proporciona step_contents con exactamente un step_id guardado y un contrato HTML/Liquid preparado por correo. La conversión es atómica y cambia la Jornada a draft. Cada revisión nueva de contenido gestionado recibe su propia revisión regulada de publicación; no se envía ni publica ningún correo durante la conversión. Banger nunca importa ni ejecuta código fuente.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • expected_versionintegerobligatorio

    minimum: 1

  • contractobject

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

  • oneOf 1object

    Sin propiedades adicionales

  • typestringobligatorio

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

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultno especificado

    Debe coincidir con el tipo del campo.

    Se omiten niveles anidados adicionales

  • oneOf 2object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "object"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultobject

    Se omiten niveles anidados adicionales

  • propertiesobjectobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "list"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultarray

    Se omiten niveles anidados adicionales

  • itemsno especificadoobligatorio

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring
  • step_contentsarray

    minItems: 1

  • Cada elementoobject

    Sin propiedades adicionales

  • step_idstringobligatorio

    format: "uuid"

  • contractobjectobligatorio

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • oneOf 1no especificado
  • oneOf 2no especificado

Respuesta correcta 200

Repetición idempotente de la misma conversión.

application/json

  • valueobject
  • dataobjectobligatorio
  • journey_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "draft"

  • review_requiredbooleanobligatorio

    const: true

  • managed_content_stepsarrayobligatorio
  • Cada elementoobject
  • step_idstringobligatorio

    format: "uuid"

  • managed_content_idstringobligatorio

    format: "uuid"

  • content_versionintegerobligatorio
  • source_revision_idstring | nullobligatorio

    format: "uuid"

  • previewobjectobligatorio
  • subjectstringobligatorio
  • preheaderstring
  • htmlstringobligatorio
  • textstringobligatorio
  • localestringobligatorio
  • directionstringobligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • Propiedad adicionalCualquier valor
  • translation_jobsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • managed_content_idstring

    format: "uuid"

  • content_versioninteger
  • source_revision_idstring | null

    format: "uuid"

  • previewobject
  • subjectstringobligatorio
  • preheaderstring
  • htmlstringobligatorio
  • textstringobligatorio
  • localestringobligatorio
  • directionstringobligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Cada elementostring
  • Propiedad adicionalCualquier valor
  • replayedbooleanobligatorio
  • approvalsarrayobligatorio
  • Cada elementoobject
  • step_idstringobligatorio

    format: "uuid"

  • approvalobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray

    Se omiten niveles anidados adicionales

  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

    Se omiten niveles anidados adicionales

  • recipient_countinteger | nullobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • reasonsarrayobligatorio

    Se omiten niveles anidados adicionales

  • checksarrayobligatorio

    Se omiten niveles anidados adicionales

  • approvalobject
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Renderiza un paso de correo guardado de Jornada sin enviar.

Especifica step_id si la Jornada tiene varios pasos de correo, incluidas ramas divididas. Usa la revisión de contenido inmutable de borrador o publicada seleccionada.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • step_idstring

    format: "uuid"

  • content_statestring

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

  • localestring
  • timezonestring
  • sample_setstring
  • variablesobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Asunto renderizado, HTML, texto plano, configuración regional, identificadores de revisión y advertencias de extracción.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • subjectstringobligatorio
  • preheaderstring
  • htmlstringobligatorio
  • textstringobligatorio
  • localestringobligatorio
  • directionstringobligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Cada elementostring
  • Propiedad adicionalCualquier valor
  • allOf 2object
  • source_revision_idstringobligatorio

    format: "uuid"

  • layout_revision_idstring | nullobligatorio

    format: "uuid"

Ejemplo de 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 una Jornada guardada con elegibilidad opcional en el momento del activador y campañas gestionadas.

Simulación de solo lectura. Omite enrollment para una vista previa posterior a la inscripción o proporciona un escenario de activación explícito para comprobar la elegibilidad del contacto guardado actual. Con enrollment, el ámbito es from_trigger y la primera entrada de cronología es de tipo enrollment; los destinatarios no elegibles omiten pasos de Jornada mientras continúan los candidatos independientes de campaña. assume_active modela una activación hipotética, no una aprobación de gobernanza. No se simulan recepción/desduplicación de eventos del proveedor, entrega y latencia del proveedor, estado histórico de audiencia, activadores de horario ni de correo entrante. Una Jornada API descubierta usa su ruta especial de upsert de configuración inicial; la supresión posterior de entrega es independiente. Una Jornada API activa comprueba su audiencia guardada antes del upsert del contacto; la simulación modela ese orden sin escribir. Así, un destinatario API suprimido puede tener una entrada de inscripción elegible seguida de exit/suppress, sin envío renderizado; las campañas pendientes se cancelan.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • atstringobligatorio

    format: "date-time"

  • enrollment_idstring
  • content_statestring

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

  • localestring
  • variablesobject
  • Propiedad adicionalCualquier valor
  • communication_historyarray

    Envíos o reservas anteriores para este destinatario simulado.

    maxItems: 10000

  • Cada elementostring

    format: "date-time"

  • contactobjectobligatorio
  • emailstringobligatorio

    format: "email"

  • display_namestringobligatorio
  • attributesobjectobligatorio
  • Propiedad adicionalCualquier valor
  • enrollmentobject

    Intento de activación opcional en la marca de tiempo at de nivel superior. Los contactos guardados usan la suscripción, supresión y pertenencia a audiencia actuales. Los contactos API/evento hipotéticos requieren estado subscribed explícito y suppressed=false y una audiencia all_subscribed.

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • eventstring

    maxLength: 200

  • assume_activeboolean

    default: false

  • contact_statusstring

    enum: "subscribed", "unsubscribed"

  • suppressedboolean
  • eventsarray

    maxItems: 1000

  • Cada elementoobject
  • atstringobligatorio

    format: "date-time"

  • kindstringobligatorio

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

  • attributesobject
  • Propiedad adicionalCualquier valor
  • broadcastsarray

    Campañas programadas guardadas o candidatos explícitos de contenido gestionado evaluados en la misma cronología del destinatario.

    maxItems: 20

  • Cada elementoobject

    Sin propiedades adicionales

  • 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
  • Propiedad adicionalCualquier valor
  • oneOf 1no especificado
  • oneOf 2no especificado

Respuesta correcta 200

Cronología ordenada, detalles de correos renderizados, ámbito y advertencias de simulación. Los resultados de inscripción incluyen 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 y audience_unverified. Los detalles identifican el activador y la fuente del estado del contacto y pueden indicar que el entorno actual no evalúa las condiciones de activación guardadas. Los destinatarios de campañas guardadas ya en cola de envío producen already_queued; already_sent se reserva para un envío aceptado.

application/json

  • valueobject
  • dataobjectobligatorio
  • journey_idstringobligatorio

    format: "uuid"

  • journey_versionintegerobligatorio
  • content_statestringobligatorio

    enum: "draft", "published"

  • scopestringobligatorio

    enum: "from_trigger", "after_enrollment"

  • communication_policy_versionintegerobligatorio
  • timelinearrayobligatorio
  • Cada elementoobject
  • atstringobligatorio

    format: "date-time"

  • step_idstring

    format: "uuid"

  • kindstringobligatorio
  • outcomestringobligatorio
  • detailsno especificado

    Evidencias de simulación específicas del resultado.

  • emailsarrayobligatorio
  • Cada elementoobject
  • step_idstring | nullobligatorio

    format: "uuid"

  • namestringobligatorio
  • armobject
  • split_step_idstring

    format: "uuid"

  • keystringobligatorio
  • labelstringobligatorio
  • sourcestringobligatorio

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

  • statusstringobligatorio

    enum: "rendered", "blocked"

  • subjectstring
  • previewstring
  • codestring
  • messagestring
  • warningsarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • statusstringobligatorio

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

Respuesta correcta 200

Estado de Jornada actualizado.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_localestring | null

    Se omiten niveles anidados adicionales

  • configured_localesarray

    Se omiten niveles anidados adicionales

  • variablesobject

    Se omiten niveles anidados adicionales

  • published_variablesobject

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Vista previa de audiencia y preparación de la Jornada.

application/json

  • valueobject
  • dataobjectobligatorio
  • sequence_idstringobligatorio

    format: "uuid"

  • recipient_countintegerobligatorio
  • sample_recipientsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestring | nullobligatorio
  • stepsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

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

    Se omiten niveles anidados adicionales

  • variablesobject
  • Propiedad adicionalCualquier valor
  • published_variablesobject
  • Propiedad adicionalCualquier valor
  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio

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

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    maxLength: 120

    Se omiten niveles anidados adicionales

  • allocationnumberobligatorio

    minimum: 0 · maximum: 100

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    Se omiten niveles anidados adicionales

  • readybooleanobligatorio
  • exit_configobjectobligatorio

    Sin propiedades adicionales

  • on_replyboolean

    default: true

  • on_unsubscribeboolean

    default: true

  • on_suppressionboolean

    default: true

  • eventstring

    maxLength: 200

  • emailsarrayobligatorio
  • Cada elementoobject
  • step_idstring | nullobligatorio

    format: "uuid"

  • namestringobligatorio
  • armobject
  • split_step_idstring

    format: "uuid"

  • keystringobligatorio
  • labelstringobligatorio
  • sourcestringobligatorio

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

  • template_idstring

    format: "uuid"

  • managed_content_idstring

    format: "uuid"

  • subjectstringobligatorio
  • previewstringobligatorio
  • blockersarrayobligatorio
  • Cada elementoobject
  • codestringobligatorio

    Se omiten niveles anidados adicionales

  • messagestringobligatorio

    Se omiten niveles anidados adicionales

  • blockersarrayobligatorio
  • Cada elementoobject
  • codestringobligatorio
  • messagestringobligatorio
  • step_idstring | nullobligatorio

    format: "uuid"

  • step_namestringobligatorio
  • armstring

Ejemplo de 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

Inscribe contactos explícitos en una Jornada mediante una aprobación regulada.

Alias de POST /approvals con action_kind sequence.enroll y payload {sequence_id, contact_ids, sequence_version?, sequence_definition_sha256?}. Usa la misma Idempotency-Key, así que la misma clave devuelve la misma aprobación desde cualquiera de las rutas. Requiere campaigns:send y un producto.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • contact_idsarrayobligatorio

    minItems: 1 · maxItems: 2000

  • Cada elementostring

    format: "uuid"

  • sequence_versioninteger

    minimum: 1

  • sequence_definition_sha256string

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

Respuesta correcta 200

La misma Idempotency-Key devolvió una aprobación existente.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Ejecuciones de pasos de Jornada.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • enrollment_idstringobligatorio

    format: "uuid"

  • step_idstringobligatorio

    format: "uuid"

  • positionintegerobligatorio
  • kindstringobligatorio
  • namestringobligatorio
  • statusstringobligatorio
  • attempt_countintegerobligatorio
  • send_intent_idstring | nullobligatorio

    format: "uuid"

  • error_codestring | nullobligatorio
  • started_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Las personas de la Jornada, primero la entrada más reciente, con el resultado de cada paso de correo.

application/json

  • valueobject
  • dataobjectobligatorio
  • stepsobjectobligatorio

    Indexado por ID de paso, para cada paso alcanzado por alguien.

  • Propiedad adicionalobject
  • receivedintegerobligatorio
  • skippedintegerobligatorio
  • failedintegerobligatorio
  • nowintegerobligatorio
  • emailsarrayobligatorio
  • Cada elementoobject
  • step_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • subjectstringobligatorio
  • split_step_idstring

    format: "uuid"

  • arm_keystring
  • countsobjectobligatorio
  • allintegerobligatorio
  • in_progressintegerobligatorio
  • finishedintegerobligatorio
  • goal_reachedintegerobligatorio
  • exitedintegerobligatorio
  • failedintegerobligatorio
  • peoplearrayobligatorio
  • Cada elementoobject
  • enrollment_idstringobligatorio

    format: "uuid"

  • contact_idstringobligatorio

    format: "uuid"

  • emailstringobligatorio
  • display_namestringobligatorio
  • statestringobligatorio

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

  • stop_reasonstring
  • error_codestring
  • current_stepobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • kindstringobligatorio
  • next_action_atstring

    format: "date-time"

  • enrolled_atstringobligatorio

    format: "date-time"

  • completed_atstring

    format: "date-time"

  • pathsobjectobligatorio
  • Propiedad adicionalstring
  • emailsobjectobligatorio

    Indexado por ID de paso de correo. Un paso sin entrada no se ha alcanzado.

  • Propiedad adicionalobject
  • statestringobligatorio

    translating indica que el correo espera la traducción de la persona. skipped lleva error_code translation_failed, translation_awaiting_review o translation_still_preparing (por qué no estuvo lista a tiempo), y none si se alcanzó antes el hito.

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

    Se omiten niveles anidados adicionales

  • atstringobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • send_intent_idstring

    Lee el mensaje exacto que recibió esta persona con GET /transactional-sends/{send_intent_id}.

    format: "uuid"

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • languageno especificado

    El idioma en que la persona recibió este correo o, durante translating, el que espera.

    Se omiten niveles anidados adicionales

  • variant_keystring

    La variante del experimento de este correo que recibió la persona, si el paso ejecuta un experimento.

    Se omiten niveles anidados adicionales

  • pageobjectobligatorio
  • has_morebooleanobligatorio
  • next_cursorstring

Ejemplo de 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

Envía un correo mediante la Jornada. reply_to usa por defecto el buzón de la Jornada; una lista vacía también indica el valor predeterminado. Un rechazo (4xx) no deja nada congelado para el destinatario, así que una llamada corregida con nueva clave de idempotencia envía.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyKey
path · obligatorio
  • valuestring

    minLength: 1 · maxLength: 100

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • tono especificado

    Destinatarios de to, cc, bcc y reply_to: una dirección ("a@example.com" o "Pat <a@example.com>"), un objeto { email, name } o una lista que mezcle ambos. Banger los almacena como objetos { email, name } con el correo en minúsculas. El hash de idempotencia incluye el cuerpo tal como se envía, así que reintenta con el mismo formato.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatorio

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Cada elementono especificado
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatorio

    format: "email"

  • reply_tono especificado

    Destinatarios de to, cc, bcc y reply_to: una dirección ("a@example.com" o "Pat <a@example.com>"), un objeto { email, name } o una lista que mezcle ambos. Banger los almacena como objetos { email, name } con el correo en minúsculas. El hash de idempotencia incluye el cuerpo tal como se envía, así que reintenta con el mismo formato.

  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatorio

    format: "email"

  • oneOf 3array

    maxItems: 500

  • Cada elementono especificado
  • oneOf 1string

    minLength: 3 · maxLength: 1000

  • oneOf 2object
  • namestring
  • emailstringobligatorio

    format: "email"

  • expires_atstring

    format: "date-time"

  • expires_after_secondsinteger

    minimum: 1 · maximum: 604800

  • Propiedad adicionalCualquier valor

Respuesta correcta 202

Correo de Jornada aceptado.

application/json

  • valueobject
  • dataobjectobligatorio
  • action_kindstringobligatorio

    enum: "transactional.send"

  • idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • provider_attempt_idstring

    format: "uuid"

  • statusstringobligatorio

    Estados sent/queued de la entrega o, para una solicitud congelada: deferred (programada por la política o en espera de traducción), processing (en envío), discarded.

  • replayedboolean
  • journeyno especificadoobligatorio
  • anyOf 1object
  • journey_idstringobligatorio

    format: "uuid"

  • enrollment_idstringobligatorio

    format: "uuid"

  • step_idstringobligatorio

    format: "uuid"

  • step_positionintegerobligatorio
  • originstring

    enum: "journey"

  • journey_identitystring
  • anyOf 2null
  • ignored_variablesarrayobligatorio
  • Cada elementostring
  • scheduled_atstring

    format: "date-time"

  • reasonstring
  • communication_reservation_idstring

    format: "uuid"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • mailbox_idstringobligatorio

    format: "uuid"

  • delivery_classstringobligatorio

    enum: "product", "broadcast"

  • content_modestringobligatorio

    enum: "code", "managed"

  • template_idstring

    format: "uuid"

  • from_sampleboolean
  • variablesarray

    maxItems: 50

  • Cada elementoobject
  • literalstringobligatorio

    minLength: 1 · maxLength: 10000

  • namestringobligatorio

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

  • activateboolean

Respuesta correcta 200

Jornada descubierta reclamada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_localestring | null

    Se omiten niveles anidados adicionales

  • configured_localesarray

    Se omiten niveles anidados adicionales

  • variablesobject

    Se omiten niveles anidados adicionales

  • published_variablesobject

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • loser_idstringobligatorio

    format: "uuid"

Respuesta correcta 200

Jornadas combinadas.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_localestring | null

    Se omiten niveles anidados adicionales

  • configured_localesarray

    Se omiten niveles anidados adicionales

  • variablesobject

    Se omiten niveles anidados adicionales

  • published_variablesobject

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

stepId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • arm_keystringobligatorio

Respuesta correcta 200

Rama ganadora promovida.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • descriptionstring

    maxLength: 2000

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

  • from_local_partstring

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

  • triggerobjectobligatorio
  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobject
  • eventstring
  • once_per_personboolean

    Cada persona entra una vez. Define false para permitir que vuelva a entrar al terminar.

    default: true

  • reentry_daysinteger

    Con once_per_person false, días desde la última entrada de una persona antes de poder volver a entrar.

    minimum: 1 · maximum: 365

  • Propiedad adicionalCualquier valor
  • conditionsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • audienceobject
  • Propiedad adicionalCualquier valor
  • goalobject

    Sin propiedades adicionales

  • kindstringobligatorio

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

  • connection_idstring

    format: "uuid"

  • configobjectobligatorio
  • Propiedad adicionalCualquier valor
  • exitobject

    Sin propiedades adicionales

  • 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

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

  • Cada elementoobject

    Sin propiedades adicionales

  • idstring

    format: "uuid"

  • positioninteger

    minimum: 1 · maximum: 100

  • kindstringobligatorio

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

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • managed_contentobject

    Contrato fuente tipado e identidad de revisión de borrador/publicada de un paso de correo.

  • idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • versioninteger

    Se omiten niveles anidados adicionales

  • draft_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_publication_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • published_layout_revision_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • source_localestring | null

    Se omiten niveles anidados adicionales

  • configured_localesarray

    Se omiten niveles anidados adicionales

  • variablesobject

    Se omiten niveles anidados adicionales

  • published_variablesobject

    Se omiten niveles anidados adicionales

  • configobjectobligatorio

    Los pasos de espera aceptan opcionalmente until con name, path, operator (equals, not_equals, contains o exists) y value, más on_met obligatorio (continue o end_journey). continue omite el siguiente correo recordatorio; end_journey completa la Jornada. Debe seguir inmediatamente un correo recordatorio en la misma rama. La espera comprueba los datos actuales del cliente cada minuto hasta amount/unit. Los campos ausentes son desconocidos y retienen el recordatorio. Las esperas normales y condiciones independientes conservan su comportamiento. Nombra las comprobaciones con hitos de cliente verificados. Los pasos de correo gestionado referencian el contenido publicado mediante managed_content_id; la activación rechaza referencias no publicadas. Los pasos de correo pueden definir expires_after_seconds (1-604800) para descartar un envío diferido tras ese intervalo desde su inicio original; el valor predeterminado es siete días.

  • Propiedad adicionalCualquier valor
  • armsarray

    minItems: 2 · maxItems: 4

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

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

  • api_keystring | null
  • content_modestring | null

    enum: "code", "managed", null

  • identitystring | null
  • identity_aliasesarray
  • Cada elementostring
  • samplesarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • versionintegerobligatorio

    minimum: 1

  • statsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • armStatsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • healthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • indicatorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • sparklinearrayobligatorio
  • Cada elementonumber
  • activated_atstring | null

    format: "date-time"

  • updated_atstring

    format: "date-time"

  • last_activity_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

journeyId
path · obligatorio
  • valuestring

    format: "uuid"

position
query
  • valueinteger

    minimum: 1 · maximum: 100

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Número recomendado de ramas de prueba y momento de decisión.

application/json

  • valueobject
  • dataobjectobligatorio
  • arms_maxintegerobligatorio
  • weekly_arrivalsintegerobligatorio
  • per_arm_eta_daysobjectobligatorio
  • Propiedad adicionalnumber

Ejemplo de curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/recommend?position=1' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Aprobaciones

GET/v1/workspaces/{workspaceId}/approvals/{approvalId}/managed-layout-preview/{contentId}

Lee renderizados completos antes/después en el idioma fuente del contenido vinculado a una aprobación de estructura.

Reconstruye desde revisiones inmutables y verifica ambos hashes fuente contra la captura de aprobación. No admite cambiar la configuración regional.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

sample
query
  • valuestring

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Asunto, HTML y texto plano completos antes y después, verificados por hash.

application/json

  • valueobject
  • dataobjectobligatorio
  • content_idstringobligatorio

    format: "uuid"

  • sample_namestring | nullobligatorio
  • localestringobligatorio
  • old_source_hashstringobligatorio
  • new_source_hashstringobligatorio
  • beforeobjectobligatorio
  • subjectstringobligatorio
  • htmlstringobligatorio
  • textstringobligatorio
  • afterobjectobligatorio
  • subjectstringobligatorio
  • htmlstringobligatorio
  • textstringobligatorio

Ejemplo de 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

Renderiza cada correo de una aprobación de activación o inscripción de Jornada desde su captura de revisión vinculada.

Los correos se renderizan con personalización de muestra desde la definición exacta revisada (diseños guardados por su clave HTML inmutable, revisiones gestionadas fijadas), nunca desde la Jornada actual. También nombra las listas de audiencia, segmentos y conexiones de activador/objetivo que referencia la captura.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Correos renderizados indexados por posición de paso (pasos de rama como parent.arm.position), más nombres de audiencia y conexión.

application/json

  • valueobject
  • dataobjectobligatorio
  • approval_idstringobligatorio

    format: "uuid"

  • sequence_idstring | null

    format: "uuid"

  • emailsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio
  • positionintegerobligatorio
  • parent_positioninteger | nullobligatorio
  • arm_keystring | nullobligatorio
  • sourcestringobligatorio

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

  • subjectstringobligatorio
  • preview_textstringobligatorio
  • body_htmlstring
  • body_textstringobligatorio
  • publishedboolean
  • errorstring
  • listsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • namestringobligatorio
  • member_countintegerobligatorio
  • segmentsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • namestringobligatorio
  • connectionsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • namestringobligatorio
  • image_assetsobjectobligatorio
  • Propiedad adicionalstring
  • sample_valuesbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

status
query
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Bandeja de auditoría de revisiones automáticas y humanas del espacio de trabajo.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Para acciones canónicas de Banger, Banger deriva los permisos exactos, aplica la política de revisión del espacio de trabajo, registra una solicitud de auditoría inmutable y pone automáticamente en cola las acciones dentro del límite configurado. Para publicar la fuente de un correo gestionado, usa action_kind managed_email.publish y payload {content_id, expected_version}; Banger vincula la revisión/hash fuente y exige revisión humana cuando corresponde. Los tipos genéricos de aprobación siempre siguen pendientes y deben proporcionar summary, capabilities y resources. En los payloads mail.draft y transactional.send, to, cc, bcc y reply_to aceptan cualquier formato RecipientInput y se almacenan como objetos { email, name }.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Obligatorio para acciones de Banger reconocidas; las solicitudes personalizadas de aprobación no usan esta cabecera.

  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • action_kindstringobligatorio

    minLength: 1 · maxLength: 100

  • summarystring

    minLength: 1 · maxLength: 500

  • capabilitiesarray

    minItems: 1 · maxItems: 50

  • Cada elementostring

    maxLength: 100

  • resourcesobject
  • Propiedad adicionalarray

    maxItems: 500

  • Cada elementostring

    maxLength: 200

  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • expires_in_secondsinteger

    minimum: 60 · maximum: 86400 · default: 3600

  • approve_as_launcherboolean

    Para sequence.activate: una persona que pulsa Activar aprueba esta solicitud exacta cuando la política de revisión exige una persona. Se ignora para claves de API y agentes, que esperan en Aprobaciones.

Respuesta correcta 201

Solicitud regulada creada; puede estar ya aprobada automáticamente y en cola.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Cuenta aprobaciones pendientes o cuyo plazo venció antes de una decisión.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Recuentos de aprobaciones sin decidir del producto.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • pendingintegerobligatorio

    minimum: 0

  • missedintegerobligatorio

    minimum: 0

  • totalintegerobligatorio

    minimum: 0

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Solicitud exacta de aprobación y payload de acción vinculado.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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 sesiones humanas de navegador. Las claves de API del espacio de trabajo no pueden decidir aprobaciones.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • decisionstringobligatorio

    enum: "approved", "rejected"

  • reasonstring

    maxLength: 500

  • expected_payload_sha256string

    Hash del payload exacto de aprobación mostrado al revisor; una discrepancia devuelve 409.

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

Respuesta correcta 200

Decisión de aprobación registrada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Cancela una aprobación aún pendiente sin ejecutarla. Solo sesiones humanas de navegador.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • reasonstring

    maxLength: 500

Respuesta correcta 200

Aprobación cancelada y ejecución de agente pendiente reanudada sin la acción.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Descarta una aprobación cuyo plazo de decisión venció. Solo sesiones humanas de navegador.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Aprobación vencida descartada y registrada como cancelada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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 una aprobación vencida con un nuevo plazo de decisión y cancela la solicitud anterior. Solo sesiones humanas de navegador.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 201

Nueva solicitud de aprobación creada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Reemplaza una acción regulada de Banger pendiente por una aprobación recién canonicalizada. La solicitud anterior queda en el historial como cancelada.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

approvalId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor

Respuesta correcta 201

Aprobación de reemplazo creada para revisión humana.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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": {}
}'

Ejecuciones de agentes

GET/v1/workspaces/{workspaceId}/agent-runs

Lista las ejecuciones recientes de agentes internos del espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Ejecuciones recientes en orden cronológico inverso.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • taskstringobligatorio
  • modelstringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • statusstringobligatorio

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobligatorio
  • max_runtime_secondsintegerobligatorio
  • current_generationintegerobligatorio
  • latest_checkpointobject | null
  • Propiedad adicionalCualquier valor
  • latest_checkpoint_sequenceintegerobligatorio
  • resultobject | null
  • Propiedad adicionalCualquier valor
  • error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatorio
  • stepsarray
  • Cada elementoobject
  • sequenceintegerobligatorio

    minimum: 1

  • attempt_generationintegerobligatorio

    minimum: 1

  • kindstringobligatorio

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobligatorio

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputno especificado
  • outputno especificado
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Ejemplo de 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

Inicia una ejecución aislada de agente interno de Banger.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • taskstringobligatorio

    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

  • Cada elementoobject

    Sin propiedades adicionales

  • connection_idstringobligatorio

    format: "uuid"

  • adapter_keystringobligatorio

    minLength: 1 · maxLength: 63

  • operationsarrayobligatorio

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

    minLength: 1 · maxLength: 100

  • action_toolsarray

    maxItems: 6 · uniqueItems: true

  • Cada elementostring

    enum: "mailbox.create", "mail.draft", "transactional.send", "template.update", "campaign.draft", "campaign.schedule"

Respuesta correcta 200

Repetición idempotente de la ejecución existente.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • taskstringobligatorio
  • modelstringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • statusstringobligatorio

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobligatorio
  • max_runtime_secondsintegerobligatorio
  • current_generationintegerobligatorio
  • latest_checkpointobject | null
  • Propiedad adicionalCualquier valor
  • latest_checkpoint_sequenceintegerobligatorio
  • resultobject | null
  • Propiedad adicionalCualquier valor
  • error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatorio
  • stepsarray
  • Cada elementoobject
  • sequenceintegerobligatorio

    minimum: 1

  • attempt_generationintegerobligatorio

    minimum: 1

  • kindstringobligatorio

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobligatorio

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputno especificado
  • outputno especificado
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

runId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Ejecución canónica, punto de control, resultado final y pasos ordenados.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • taskstringobligatorio
  • modelstringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • statusstringobligatorio

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobligatorio
  • max_runtime_secondsintegerobligatorio
  • current_generationintegerobligatorio
  • latest_checkpointobject | null
  • Propiedad adicionalCualquier valor
  • latest_checkpoint_sequenceintegerobligatorio
  • resultobject | null
  • Propiedad adicionalCualquier valor
  • error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatorio
  • stepsarray
  • Cada elementoobject
  • sequenceintegerobligatorio

    minimum: 1

  • attempt_generationintegerobligatorio

    minimum: 1

  • kindstringobligatorio

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobligatorio

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputno especificado
  • outputno especificado
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

runId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Ejecución de agente cancelada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • execution_job_idstring

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • taskstringobligatorio
  • modelstringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • statusstringobligatorio

    enum: "queued", "running", "waiting_approval", "waiting_external", "succeeded", "failed", "cancelled"

  • max_stepsintegerobligatorio
  • max_runtime_secondsintegerobligatorio
  • current_generationintegerobligatorio
  • latest_checkpointobject | null
  • Propiedad adicionalCualquier valor
  • latest_checkpoint_sequenceintegerobligatorio
  • resultobject | null
  • Propiedad adicionalCualquier valor
  • error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • started_atstring | null

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatorio
  • stepsarray
  • Cada elementoobject
  • sequenceintegerobligatorio

    minimum: 1

  • attempt_generationintegerobligatorio

    minimum: 1

  • kindstringobligatorio

    enum: "model", "tool", "checkpoint", "approval", "output", "system"

  • statusstringobligatorio

    enum: "started", "succeeded", "failed", "waiting_approval", "waiting_external"

  • namestring | null
  • inputno especificado
  • outputno especificado
  • error_codestring | null
  • input_tokensinteger | null

    minimum: 0

  • output_tokensinteger | null

    minimum: 0

  • created_atstringobligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

Ejemplo de curl

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

Agentes

GET/v1/workspaces/{workspaceId}/agents

Lista los agentes de IA (clientes MCP) que pueden actuar en este espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Conexiones de agentes activas, primero las más recientes.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • client_namestringobligatorio
  • client_surfacestringobligatorio

    La plataforma de agente de una conexión OAuth, según el nombre del cliente y sus URI de redirección.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • scopesarrayobligatorio
  • Cada elementostring
  • connected_atstringobligatorio

    format: "date-time"

  • last_active_atstringobligatorio

    format: "date-time"

  • connected_by_youbooleanobligatorio

Ejemplo de 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 el acceso de un agente. Deja de funcionar en unos 30 segundos.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

agentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Acceso del agente revocado.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • revokedbooleanobligatorio

    const: true

Ejemplo de curl

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

Comandos de IA

POST/v1/workspaces/{workspaceId}/ai/command-runs

Iniciar un comando del asistente de correo con lecturas y propuestas que requieren confirmación

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

X-Banger-Product-Id
header
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • commandTextstringobligatorio

    minLength: 1 · maxLength: 8000

Respuesta correcta 200

Solicitudes de lectura, una respuesta o acciones que requieren confirmación

application/json

  • valueobject
  • runIdstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "requires_tool_results", "completed", "requires_confirmation"

  • assistantMessagestringobligatorio
  • toolCallsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • toolNamestringobligatorio
  • argumentsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • reasonstringobligatorio
  • proposedActionsarrayobligatorio
  • Cada elementono especificado
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • toolNamestringobligatorio
  • argumentsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • reasonstringobligatorio
  • allOf 2object
  • confirmationRequiredbooleanobligatorio

    const: true

Ejemplo de 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

Continuar un comando del actor en su ámbito de producto original

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

runId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • toolResultsarrayobligatorio

    minItems: 1 · maxItems: 8

  • Cada elementoobject
  • toolCallIdstringobligatorio

    format: "uuid"

  • toolNamestringobligatorio

    enum: "list_mailboxes", "search_mail", "list_unread", "list_work_items", "get_thread"

  • okbooleanobligatorio
  • resultno especificado
  • errorstring

Respuesta correcta 200

Siguiente respuesta del comando; los resultados repetidos se devuelven sin otra llamada de inferencia

application/json

  • valueobject
  • runIdstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "requires_tool_results", "completed", "requires_confirmation"

  • assistantMessagestringobligatorio
  • toolCallsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • toolNamestringobligatorio
  • argumentsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • reasonstringobligatorio
  • proposedActionsarrayobligatorio
  • Cada elementono especificado
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • toolNamestringobligatorio
  • argumentsobjectobligatorio
  • Propiedad adicionalCualquier valor
  • reasonstringobligatorio
  • allOf 2object
  • confirmationRequiredbooleanobligatorio

    const: true

Ejemplo de 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 revisión de correo revisable sin guardarla ni enviarla.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • connection_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "openai", "anthropic"

  • modelstring

    maxLength: 200

  • instructionstringobligatorio

    minLength: 1 · maxLength: 40000

  • currentobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    maxLength: 998

  • body_textstringobligatorio

    maxLength: 100000

  • body_htmlstringobligatorio

    maxLength: 200000

Respuesta correcta 200

Propuesta estructurada de revisión desde la conexión de IA seleccionada propiedad del cliente.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • dataobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio
  • subject_optionsarrayobligatorio
  • Cada elementostring
  • body_textstringobligatorio
  • body_htmlstringobligatorio
  • change_summarystringobligatorio
  • provider_response_idstring
  • modelstringobligatorio
  • usageobject
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • categorizationobjectobligatorio
  • availablebooleanobligatorio

    const: false

  • enabledbooleanobligatorio

    const: false

  • reasonstringobligatorio

    enum: "not_configured"

  • managedno especificadoobligatorio
  • oneOf 1object
  • availablebooleanobligatorio

    const: false

  • oneOf 2object
  • availablebooleanobligatorio

    const: true

  • providerstringobligatorio

    enum: "openai", "anthropic"

  • modelstringobligatorio

Ejemplo de 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 diseño completo de correo acorde con la marca a partir de un brief. Solo propuesta.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • briefstringobligatorio

    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

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • dataobjectobligatorio
  • subjectstringobligatorio
  • subject_optionsarrayobligatorio
  • Cada elementostring
  • body_textstringobligatorio
  • body_htmlstringobligatorio
  • change_summarystringobligatorio
  • provider_response_idstring
  • modelstringobligatorio
  • usageobject
  • Propiedad adicionalCualquier valor
  • managedbooleanobligatorio

Ejemplo de 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"
}'

Analítica

POST/v1/workspaces/{workspaceId}/analytics/visitor

Vincular una visita al sitio web con la persona conectada

Requiere una sesión humana iniciada; se rechazan las claves de API.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • visitor_idstringobligatorio

    pattern: "^[A-Za-z0-9-]{8,64}$"

Respuesta correcta 204

Respuesta correcta.

Sin cuerpo de respuesta.

Ejemplo de 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"
}'

Agentes de respuesta

GET/v1/workspaces/{workspaceId}/answer-agents

listAnswerAgents

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Agentes de respuesta del espacio de trabajo.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • identityIdstringobligatorio

    format: "uuid"

  • workspaceIdstringobligatorio

    format: "uuid"

  • originstringobligatorio

    const: "internal"

  • namestringobligatorio
  • systemPromptstring
  • enabledbooleanobligatorio
  • sendPolicystringobligatorio

    enum: "draft_only", "reviewed_send", "direct_send"

  • mailboxIdsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • createdAtstringobligatorio

    format: "date-time"

  • updatedAtstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    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

  • Cada elementostring

    format: "uuid"

Respuesta correcta 201

Agente de respuesta creado.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • identityIdstringobligatorio

    format: "uuid"

  • workspaceIdstringobligatorio

    format: "uuid"

  • originstringobligatorio

    const: "internal"

  • namestringobligatorio
  • systemPromptstring
  • enabledbooleanobligatorio
  • sendPolicystringobligatorio

    enum: "draft_only", "reviewed_send", "direct_send"

  • mailboxIdsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • createdAtstringobligatorio

    format: "date-time"

  • updatedAtstringobligatorio

    format: "date-time"

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

Recursos multimedia

GET/v1/workspaces/{workspaceId}/assets

Lista las imágenes de correo del producto y sus URL públicas inmutables.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Hasta las 100 imágenes de correo del producto más recientes.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • mime_typestringobligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobligatorio

    minimum: 1 · maximum: 2097152

  • sha256stringobligatorio

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

  • created_atstringobligatorio

    format: "date-time"

  • public_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Almacena una imagen inmutable para contenido de correo gestionado.

Envía bytes PNG, JPEG, GIF o WebP sin procesar con el Content-Type correspondiente y X-File-Name opcional, o JSON con base64, mime_type y filename. Ambos formatos permiten hasta 2 MiB de bytes de imagen decodificados. La URL de respuesta se puede usar directamente en HTML; no se crea un registro de destinos localizado.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

image/png

  • valuestring

    format: "binary"

image/jpeg

  • valuestring

    format: "binary"

image/gif

  • valuestring

    format: "binary"

image/webp

  • valuestring

    format: "binary"

application/json

  • valueobject

    Sin propiedades adicionales

  • base64stringobligatorio

    Bytes de imagen

  • mime_typestringobligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • filenamestring

    maxLength: 200

Respuesta correcta 201

Imagen registrada con URL pública inmutable.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • mime_typestringobligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobligatorio

    minimum: 1 · maximum: 2097152

  • sha256stringobligatorio

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

  • created_atstringobligatorio

    format: "date-time"

  • public_urlstringobligatorio

    format: "uri"

Ejemplo de 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}

Lee los metadatos y la URL pública de una imagen de correo del producto.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

assetId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Metadatos de imagen del producto.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • mime_typestringobligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp"

  • size_bytesintegerobligatorio

    minimum: 1 · maximum: 2097152

  • sha256stringobligatorio

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

  • created_atstringobligatorio

    format: "date-time"

  • public_urlstringobligatorio

    format: "uri"

Ejemplo de 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'

Automatización

POST/v1/workspaces/{workspaceId}/automation/jobs

createExecutionJob

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • kindstringobligatorio

    minLength: 1 · maxLength: 100

  • approval_idstring

    format: "uuid"

  • capabilitiesarrayobligatorio

    Las claves de API solo pueden delegar funciones ya presentes en esa clave.

    minItems: 1 · maxItems: 50

  • Cada elementostring

    maxLength: 100

  • resourcesobjectobligatorio
  • Propiedad adicionalarray

    maxItems: 500

  • Cada elementostring

    maxLength: 200

  • inputobjectobligatorio
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Repetición idempotente de una tarea de ejecución aislada existente.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • placement_idstringobligatorio

    format: "uuid"

  • placement_generationintegerobligatorio

    format: "int64"

  • kindstringobligatorio
  • requested_by_actor_idstringobligatorio
  • approval_idstring | null

    format: "uuid"

  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • statusstringobligatorio

    enum: "queued", "leased", "succeeded", "failed", "cancelled"

  • attempt_countintegerobligatorio
  • resultno especificado
  • error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

jobId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado canónico actual de ejecución.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • placement_idstringobligatorio

    format: "uuid"

  • placement_generationintegerobligatorio

    format: "int64"

  • kindstringobligatorio
  • requested_by_actor_idstringobligatorio
  • approval_idstring | null

    format: "uuid"

  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • statusstringobligatorio

    enum: "queued", "leased", "succeeded", "failed", "cancelled"

  • attempt_countintegerobligatorio
  • resultno especificado
  • error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • completed_atstring | null

    format: "date-time"

  • replayedbooleanobligatorio

Ejemplo de curl

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

Marca

POST/v1/workspaces/{workspaceId}/brand/discover

discoverProductBrand

Lee el sitio del producto y guarda las sugerencias de marca descubiertas sin sobrescribir valores explícitos de marca. Requiere permiso de escritura de campañas.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

product_id
query · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • sourcesobjectobligatorio
  • Propiedad adicionalstring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobligatorio
  • missingarrayobligatorio
  • Cada elementostring
  • product_kindstringobligatorio

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

  • discovery_statusstring | null
  • product_idstringobligatorio

    format: "uuid"

  • product_domainstring | nullobligatorio
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Imágenes de logotipo descubiertas en el sitio del producto (cabecera, pie, logotipos declarados), para cambiarlas con un clic.

  • Cada elementostring
  • mediaobjectobligatorio
  • art_base_urlstringobligatorio
  • hero_image_urlstring
  • email_fontsobjectobligatorio
  • headingobjectobligatorio
  • stackstringobligatorio
  • fontstringobligatorio
  • web_fontbooleanobligatorio
  • clientsarrayobligatorio
  • Cada elementoobject
  • clientstringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • fontstringobligatorio

    Se omiten niveles anidados adicionales

  • web_fontbooleanobligatorio

    Se omiten niveles anidados adicionales

  • fallbackbooleanobligatorio

    Se omiten niveles anidados adicionales

  • bodyobjectobligatorio
  • stackstringobligatorio
  • fontstringobligatorio
  • web_fontbooleanobligatorio
  • clientsarrayobligatorio
  • Cada elementoobject
  • clientstringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • fontstringobligatorio

    Se omiten niveles anidados adicionales

  • web_fontbooleanobligatorio

    Se omiten niveles anidados adicionales

  • fallbackbooleanobligatorio

    Se omiten niveles anidados adicionales

Ejemplo de curl

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

getBrand

Kit de marca resuelto del producto con fuentes por campo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • sourcesobjectobligatorio
  • Propiedad adicionalstring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobligatorio
  • missingarrayobligatorio
  • Cada elementostring
  • product_kindstringobligatorio

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

  • discovery_statusstring | null
  • product_idstringobligatorio

    format: "uuid"

  • product_domainstring | nullobligatorio
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Imágenes de logotipo descubiertas en el sitio del producto (cabecera, pie, logotipos declarados), para cambiarlas con un clic.

  • Cada elementostring
  • mediaobjectobligatorio
  • art_base_urlstringobligatorio
  • hero_image_urlstring
  • email_fontsobjectobligatorio
  • headingobjectobligatorio
  • stackstringobligatorio
  • fontstringobligatorio
  • web_fontbooleanobligatorio
  • clientsarrayobligatorio
  • Cada elementoobject
  • clientstringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • fontstringobligatorio

    Se omiten niveles anidados adicionales

  • web_fontbooleanobligatorio

    Se omiten niveles anidados adicionales

  • fallbackbooleanobligatorio

    Se omiten niveles anidados adicionales

  • bodyobjectobligatorio
  • stackstringobligatorio
  • fontstringobligatorio
  • web_fontbooleanobligatorio
  • clientsarrayobligatorio
  • Cada elementoobject
  • clientstringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • fontstringobligatorio

    Se omiten niveles anidados adicionales

  • web_fontbooleanobligatorio

    Se omiten niveles anidados adicionales

  • fallbackbooleanobligatorio

    Se omiten niveles anidados adicionales

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueno especificado
  • anyOf 1object
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • sourcesobjectobligatorio
  • Propiedad adicionalstring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobligatorio
  • missingarrayobligatorio
  • Cada elementostring
  • product_kindstringobligatorio

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

  • discovery_statusstring | null
  • product_idstringobligatorio

    format: "uuid"

  • product_domainstring | nullobligatorio
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • logo_candidatesarray

    Imágenes de logotipo descubiertas en el sitio del producto (cabecera, pie, logotipos declarados), para cambiarlas con un clic.

  • Cada elementostring
  • mediaobjectobligatorio
  • art_base_urlstringobligatorio
  • hero_image_urlstring
  • email_fontsobjectobligatorio
  • headingobjectobligatorio
  • stackstringobligatorio
  • fontstringobligatorio
  • web_fontbooleanobligatorio
  • clientsarrayobligatorio
  • Cada elementoobject
  • clientstringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • fontstringobligatorio

    Se omiten niveles anidados adicionales

  • web_fontbooleanobligatorio

    Se omiten niveles anidados adicionales

  • fallbackbooleanobligatorio

    Se omiten niveles anidados adicionales

  • bodyobjectobligatorio
  • stackstringobligatorio
  • fontstringobligatorio
  • web_fontbooleanobligatorio
  • clientsarrayobligatorio
  • Cada elementoobject
  • clientstringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • fontstringobligatorio

    Se omiten niveles anidados adicionales

  • web_fontbooleanobligatorio

    Se omiten niveles anidados adicionales

  • fallbackbooleanobligatorio

    Se omiten niveles anidados adicionales

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • brandobjectobligatorio

    Sin propiedades adicionales

  • 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

Respuesta correcta 200

Lectura canónica o recibo idempotente. La aceptación del proveedor es sent; delivered requiere un evento de entrega y no demuestra llegada a la bandeja de entrada.

application/json

  • valueobject
  • dataobjectobligatorio
  • brandobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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

  • sourcesobjectobligatorio
  • Propiedad adicionalstring

    enum: "product", "discovery", "default"

  • discovery_domainstring | nullobligatorio
  • missingarrayobligatorio
  • Cada elementostring
  • product_kindstring

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

  • discovery_statusstring | null
  • product_idstringobligatorio

    format: "uuid"

  • product_domainstring | null
  • reviewed_atstring | null

    format: "date-time"

  • discovery_attempted_atstring | null

    format: "date-time"

  • hero_image_urlstring | null
  • replayedbooleanobligatorio

Ejemplo de 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"
  }
}'

Cambios

GET/v1/workspaces/{workspaceId}/changes

listChanges

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

after_revision
query · obligatorio
  • valueinteger

    format: "int64" · minimum: 0

limit
query
  • valueinteger

    minimum: 1 · maximum: 500 · default: 200

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Invalidaciones ordenadas tras una revisión del cliente.

application/json

  • valueobject
  • dataobjectobligatorio
  • current_revisionintegerobligatorio

    format: "int64"

  • changesarrayobligatorio
  • Cada elementoobject
  • revisionintegerobligatorio

    format: "int64"

  • topicsarrayobligatorio
  • Cada elementostring

    enum: "mailboxes", "threads", "messages", "work", "drafts", "contacts", "campaigns", "deliverability"

  • mailbox_idsarray
  • Cada elementostring

    format: "uuid"

  • created_atstringobligatorio

    format: "date-time"

  • has_morebooleanobligatorio

Ejemplo de curl

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

Comandos

POST/v1/workspaces/{workspaceId}/commands

createCommand

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • typestringobligatorio

    enum: "mark_read", "mark_unread", "archive", "unarchive", "trash", "restore", "spam", "not_spam", "star", "unstar", "add_label", "remove_label", "move", "assign", "set_work_status"

  • targetobjectobligatorio
  • thread_idstringobligatorio

    format: "uuid"

  • parametersobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 202

Comando confirmado y en cola para ejecución del proveedor.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • typestringobligatorio
  • statusstringobligatorio

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

  • workspace_revisionintegerobligatorio

    format: "int64"

  • created_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

commandId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado persistente del comando del proveedor.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • typestringobligatorio
  • statusstringobligatorio

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

  • workspace_revisionintegerobligatorio

    format: "int64"

  • created_atstringobligatorio

    format: "date-time"

Ejemplo de curl

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

Política de comunicación

GET/v1/workspaces/{workspaceId}/communication-policy

Lee la política de conflictos de destinatarios, frecuencia y ventanas de entrega del producto.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Política de comunicación versionada.

application/json

  • valueobject
  • dataobjectobligatorio
  • versionintegerobligatorio
  • policyobjectobligatorio

    Sin propiedades adicionales

  • conflictstringobligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Cada elementoobject

    Sin propiedades adicionales

  • countintegerobligatorio

    minimum: 1

  • windowSecondsintegerobligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Sin propiedades adicionales

  • startstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatorio
  • weekdaysarray

    maxItems: 7

  • Cada elementointeger

    minimum: 0 · maximum: 6

Ejemplo de 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

Guarda la política de comunicación del producto con comprobación optimista de versión.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • expected_versionintegerobligatorio

    minimum: 1

  • policyobjectobligatorio

    Sin propiedades adicionales

  • conflictstringobligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Cada elementoobject

    Sin propiedades adicionales

  • countintegerobligatorio

    minimum: 1

  • windowSecondsintegerobligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Sin propiedades adicionales

  • startstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatorio
  • weekdaysarray

    maxItems: 7

  • Cada elementointeger

    minimum: 0 · maximum: 6

Respuesta correcta 200

Política versionada actualizada.

application/json

  • valueobject
  • dataobjectobligatorio
  • versionintegerobligatorio
  • policyobjectobligatorio

    Sin propiedades adicionales

  • conflictstringobligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Cada elementoobject

    Sin propiedades adicionales

  • countintegerobligatorio

    minimum: 1

  • windowSecondsintegerobligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Sin propiedades adicionales

  • startstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatorio
  • weekdaysarray

    maxItems: 7

  • Cada elementointeger

    minimum: 0 · maximum: 6

Ejemplo de 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

Simulación de política de solo lectura para solicitudes fijas de envío a un destinatario.

No cambia reservas ni mueve pasos dependientes de Jornada.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • policyobject

    Sin propiedades adicionales

  • conflictstringobligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Cada elementoobject

    Sin propiedades adicionales

  • countintegerobligatorio

    minimum: 1

  • windowSecondsintegerobligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Sin propiedades adicionales

  • startstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatorio
  • weekdaysarray

    maxItems: 7

  • Cada elementointeger

    minimum: 0 · maximum: 6

  • historyarray

    maxItems: 10000

  • Cada elementostring

    format: "date-time"

  • requestsarrayobligatorio

    maxItems: 1000

  • Cada elementoobject
  • idstringobligatorio
  • atstringobligatorio

    format: "date-time"

  • categorystringobligatorio

    enum: "urgent", "product", "promotional"

  • source_kindstringobligatorio

    enum: "journey", "broadcast"

  • expiresAtstring

    format: "date-time"

  • deliveryBlockedboolean

Respuesta correcta 200

Cronología de decisiones de envío, aplazamiento o descarte por solicitud, con motivos.

application/json

  • valueobject
  • dataobjectobligatorio
  • policyobjectobligatorio

    Sin propiedades adicionales

  • conflictstringobligatorio

    enum: "defer", "discard"

  • minimumIntervalSecondsinteger

    minimum: 0 · maximum: 604800

  • capsarray

    maxItems: 8

  • Cada elementoobject

    Sin propiedades adicionales

  • countintegerobligatorio

    minimum: 1

  • windowSecondsintegerobligatorio

    minimum: 1 · maximum: 2592000

  • windowobject

    Sin propiedades adicionales

  • startstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • endstringobligatorio

    pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$"

  • timeZonestringobligatorio
  • weekdaysarray

    maxItems: 7

  • Cada elementointeger

    minimum: 0 · maximum: 6

  • policy_versioninteger | nullobligatorio
  • timelinearrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • source_kindstringobligatorio

    enum: "journey", "broadcast"

  • requested_atstringobligatorio

    format: "date-time"

  • actionstringobligatorio

    enum: "send", "defer", "discard"

  • atstringobligatorio

    format: "date-time"

  • reasonstringobligatorio
  • scopestringobligatorio

    enum: "one_recipient_fixed_send_requests"

  • warningsarrayobligatorio
  • Cada elementostring

Ejemplo de 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
    }
  ]
}'

Configuración del contenido

GET/v1/workspaces/{workspaceId}/content-settings

Lee la configuración de idioma, alternativa, zona horaria, glosario y revisión del producto.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Configuración actual de contenido.

application/json

  • valueobject
  • dataobjectobligatorio
  • source_localestringobligatorio
  • configured_localesarrayobligatorio
  • Cada elementostring
  • fallback_chainarrayobligatorio
  • Cada elementostring
  • timezonestringobligatorio
  • glossaryobjectobligatorio
  • Propiedad adicionalstring
  • manual_translation_reviewbooleanobligatorio
  • versionintegerobligatorio

Ejemplo de 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

Guarda la configuración de contenido del producto con comprobación optimista de versión.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • source_localestringobligatorio
  • configured_localesarrayobligatorio
  • Cada elementostring
  • fallback_chainarrayobligatorio
  • Cada elementostring
  • timezonestringobligatorio
  • glossaryobjectobligatorio
  • Propiedad adicionalstring
  • manual_translation_reviewbooleanobligatorio
  • expected_versionintegerobligatorio

    minimum: 0

Respuesta correcta 200

Configuración de contenido guardada.

application/json

  • valueobject
  • dataobjectobligatorio
  • source_localestringobligatorio
  • configured_localesarrayobligatorio
  • Cada elementostring
  • fallback_chainarrayobligatorio
  • Cada elementostring
  • timezonestringobligatorio
  • glossaryobjectobligatorio
  • Propiedad adicionalstring
  • manual_translation_reviewbooleanobligatorio
  • versionintegerobligatorio

Ejemplo de 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
}'

Entregabilidad

GET/v1/workspaces/{workspaceId}/deliverability

getDeliverabilitySummary

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • counting_basisstring

    enum: "recipients", "events"

  • simulator_eventsinteger
  • sincestringobligatorio

    format: "date-time"

  • generated_atstringobligatorio

    format: "date-time"

  • totalsobjectobligatorio
  • 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"

  • Propiedad adicionalCualquier valor
  • time_seriesarrayobligatorio
  • Cada elementono especificado
  • 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"

  • Propiedad adicionalCualquier valor
  • allOf 2object
  • bucketstringobligatorio

    format: "date"

  • providersarrayobligatorio
  • Cada elementono especificado
  • 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"

  • Propiedad adicionalCualquier valor
  • allOf 2object
  • provider_connection_idstring | null

    format: "uuid"

  • providerstringobligatorio
  • display_namestringobligatorio
  • ownershipstringobligatorio
  • statusstringobligatorio
  • recipient_domainsarrayobligatorio
  • Cada elementono especificado
  • 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"

  • Propiedad adicionalCualquier valor
  • allOf 2object
  • recipient_domainstringobligatorio
  • sending_streamsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • domainstringobligatorio
  • stream_kindstringobligatorio
  • display_namestringobligatorio
  • statusstringobligatorio
  • status_reasonstring | null
  • provider_statusstring | null
  • required_recordsintegerobligatorio

    format: "int64"

  • verified_recordsintegerobligatorio

    format: "int64"

  • pending_recordsintegerobligatorio

    format: "int64"

  • error_recordsintegerobligatorio

    format: "int64"

  • last_checked_atstring | null

    format: "date-time"

  • feedback_pipelineobjectobligatorio

    Sin propiedades adicionales

  • statusstringobligatorio

    enum: "healthy", "degraded", "unproven"

  • eligible_attemptsintegerobligatorio

    format: "int64"

  • unmatched_attemptsintegerobligatorio

    format: "int64"

  • last_receipt_atstring | null

    format: "date-time"

  • issuesarrayobligatorio
  • Cada elementoobject
  • severitystringobligatorio

    enum: "warning", "critical"

  • codestringobligatorio
  • titlestringobligatorio
  • detailstringobligatorio
  • resource_kindstringobligatorio
  • resource_idstringobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • reasonstringobligatorio

    enum: "complaint", "hard_bounce"

  • countintegerobligatorio
  • domainsarrayobligatorio
  • Cada elementostring
  • statusstringobligatorio
  • decidedAtstring | null

    format: "date-time"

  • titlestringobligatorio
  • explanationstringobligatorio
  • impactstringobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

since
query
  • valuestring

    format: "date-time"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • idstringobligatorio

    minLength: 64 · maxLength: 64

  • decisionstringobligatorio

    enum: "approved", "rejected"

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • statusstringobligatorio

    enum: "approved", "rejected"

  • approvalIdstringobligatorio

    format: "uuid"

  • replayedboolean
  • countinteger

Ejemplo de 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"
}'

Documentos

GET/v1/workspaces/{workspaceId}/documents

listDocuments

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • 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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • message_idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • content_typestringobligatorio
  • size_bytesintegerobligatorio
  • sent_atstringobligatorio

    format: "date-time"

  • subjectstringobligatorio
  • pageobjectobligatorio
  • next_cursorstring
  • has_morebooleanobligatorio

Ejemplo de 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"

Vista previa del correo

GET/v1/workspaces/{workspaceId}/email-preview

Renderizar correos guardados para iterar visualmente sin enviar

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

kind
query · obligatorio
  • valuestring

    enum: "template", "broadcast", "journey"

id
query · obligatorio
  • valuestring

    format: "uuid"

locale
query

Configuración regional BCP 47 opcional para vista previa de Campaña gestionada.

  • valuestring

    maxLength: 64

variant
query

Clave opcional de variante de experimento de Campaña gestionada.

  • valuestring

    maxLength: 40

x-banger-product-id
header · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Contenido de correo y secuencia de Jornada guardados

application/json

  • valueobject
  • dataobjectobligatorio
  • resource_kindstringobligatorio

    enum: "template", "broadcast", "journey"

  • resource_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio
  • selected_email_keystring
  • itemsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio
  • step_idstring

    El paso de Jornada que muestra este elemento, como steps[].id en la Jornada guardada.

    format: "uuid"

  • kindstringobligatorio
  • namestringobligatorio
  • subjectstring
  • preview_textstring
  • body_htmlstring
  • body_textstring
  • detailstring
  • revision_idstring

    Revisión fuente exacta de Campaña gestionada renderizada.

    format: "uuid"

  • revision_statusstring

    Si la revisión renderizada es contenido guardado sin publicar o contenido publicado.

    enum: "draft", "published"

  • sample_valuesbooleanobligatorio
  • image_assetsobject
  • Propiedad adicionalstring

Ejemplo de 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'

Eventos

POST/v1/workspaces/{workspaceId}/events

Envía un evento personalizado a las Jornadas del producto.

Requiere automation:execute. El evento llega al webhook entrante implícito "Banger API events" del producto, creado con el primer evento y listado con los demás webhooks para que las Jornadas puedan indicar su connection_id, o a connection_id, otro webhook entrante activo del mismo producto. Desde ahí se procesa exactamente como un evento enviado a la URL de ese webhook: las Jornadas activas cuyo activador indica el tipo de evento y conexión inscriben a la persona de email (o su audiencia configurada), y las Jornadas cuyo objetivo lo indica detienen sus ejecuciones. Los eventos pueden iniciar Jornadas ya aprobadas que envían correos. El ID del evento hace la llamada idempotente: repetirlo con el mismo cuerpo devuelve duplicate true; reutilizarlo con otro cuerpo devuelve 409 webhook_event_id_reused.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header

Obligatorio en espacios de trabajo con varios productos activos, salvo que la clave de API ya esté vinculada al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header

El ID del evento cuando el cuerpo no tiene id. Uno de los dos es obligatorio.

  • valuestring

    minLength: 1 · maxLength: 500

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • typestringobligatorio

    Nombre del evento con el que coinciden activadores y objetivos de Jornada, como signup.

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

  • idno especificado

    Identificador estable del evento en el sistema que llama. Sin él, la cabecera Idempotency-Key es el id.

  • oneOf 1string

    minLength: 1 · maxLength: 500

  • oneOf 2number
  • emailstring

    La persona a la que se refiere el evento.

    format: "email" · maxLength: 320

  • namestring

    Nombre visible de la persona.

    maxLength: 200

  • occurred_atstring

    Cuándo ocurrió el evento. Por defecto, cuando Banger lo recibe.

    format: "date-time"

  • attributesobject

    Valores que pueden leer las condiciones de Jornada y el contenido del correo. Los valores de texto tienen como máximo 500 caracteres.

  • Propiedad adicionalno especificado
  • oneOf 1string

    maxLength: 500

  • oneOf 2number
  • oneOf 3boolean
  • connection_idstring

    Conexión de webhook entrante activa del mismo producto. Por defecto, el webhook Banger API events.

    format: "uuid"

Respuesta correcta 202

Evento aceptado o ya aceptado con este id.

application/json

  • valueobject
  • dataobjectobligatorio
  • acceptedbooleanobligatorio

    const: true

  • duplicatebooleanobligatorio

    True si este id ya fue aceptado; nada volvió a ejecutarse.

  • connection_idstringobligatorio

    La conexión por la que llegó el evento.

    format: "uuid"

  • sequence_enrollments_createdintegerobligatorio

    minimum: 0

  • sequence_enrollments_stoppedintegerobligatorio

    Ejecuciones detenidas por un objetivo de Jornada.

    minimum: 0

  • sequence_matches_ignoredintegerobligatorio

    Jornadas coincidentes que no pudieron usar el evento, como una que inscribe a una persona cuando el evento no indica correo.

    minimum: 0

  • sequence_goals_predating_enrollmentintegerobligatorio

    Objetivos ocurridos antes de que comenzara la ejecución que detendrían.

    minimum: 0

  • sequence_enrollments_rejectedarray

    Jornadas que no inscribieron a esta persona porque los datos del evento no pueden completar sus correos.

  • Cada elementoobject
  • journey_idstringobligatorio

    format: "uuid"

  • journey_namestringobligatorio
  • fieldsarrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    El campo de contacto que necesita el correo.

    Se omiten niveles anidados adicionales

  • problemstringobligatorio

    enum: "missing", "not_https"

    Se omiten niveles anidados adicionales

Ejemplo de 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"
}'

Experimentos

GET/v1/workspaces/{workspaceId}/experiments

listExperiments

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatorio

    minItems: 2 · maxItems: 4

  • Cada elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Cada 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

  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatorio

    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"

Ejemplo de 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

Inicia una prueba A/B en una Campaña, paso de jornada o regla de automatización.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    El payload de variante debe coincidir con dimension: subject, template_id (diseño), content o from_name. Las claves deben ser únicas y no pueden ser holdback. Allocation debe tener un porcentaje por variante y sumar 100; si se omite, se reparte por igual.

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatorio

    minItems: 2 · maxItems: 4

  • Cada elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propiedad adicionalstring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Cada 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

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatorio

    minItems: 2 · maxItems: 4

  • Cada elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propiedad adicionalstring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Cada 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

  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatorio

    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"

Ejemplo de 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

El experimento con resultados por variante y un ganador sugerido.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

experimentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatorio

    minItems: 2 · maxItems: 4

  • Cada elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Cada 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

  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatorio

    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
  • resultsarrayobligatorio
  • Cada 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
  • keystringobligatorio
  • reasonstringobligatorio
  • basisstringobligatorio

    enum: "confident", "deadline", "guardrail"

  • confidencenumber | nullobligatorio
  • sample_okbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

experimentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • winner_keystringobligatorio

    minLength: 1 · maxLength: 40

  • reasonstring

    maxLength: 500

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatorio

    minItems: 2 · maxItems: 4

  • Cada elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propiedad adicionalstring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Cada 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

  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatorio

    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"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

experimentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • subject_kindstringobligatorio

    enum: "campaign", "sequence_step", "automation_rule"

  • subject_idstringobligatorio

    minLength: 1 · maxLength: 200

  • dimensionstringobligatorio

    enum: "subject", "design", "content", "from_name"

  • variantsarrayobligatorio

    minItems: 2 · maxItems: 4

  • Cada elementoobject
  • keystring

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

  • labelstring

    maxLength: 120

  • subjectstring

    minLength: 1 · maxLength: 998

  • template_idstring

    format: "uuid"

  • contentobject
  • Propiedad adicionalstring
  • from_namestring

    minLength: 1 · maxLength: 200

  • allocationarray
  • Cada 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

  • idstringobligatorio

    format: "uuid"

  • product_idstring

    format: "uuid"

  • statusstringobligatorio

    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"

Ejemplo de curl

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

Comentarios

GET/v1/workspaces/{workspaceId}/feedback

Comprobar si está disponible el envío de comentarios de clientes

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Disponibilidad de comentarios para el espacio de trabajo autenticado.

application/json

  • valueobject
  • dataobject
  • availablebooleanobligatorio

Ejemplo de curl

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

Informar de un error, enviar comentarios o sugerir una función

Crea una incidencia interna en Linear y envía una alerta al equipo en Slack. Reintenta un envío interrumpido con el mismo submission_id.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • kindstringobligatorio

    enum: "bug", "feedback", "feature"

  • titlestringobligatorio

    minLength: 1 · maxLength: 160

  • descriptionstringobligatorio

    minLength: 1 · maxLength: 10000

  • submission_idstringobligatorio

    format: "uuid"

  • attachment_idsarray

    Cargas privadas completadas propiedad de este informante y espacio de trabajo. Las cargas no enviadas caducan tras 24 horas; cada archivo solo puede pertenecer a un informe.

    maxItems: 5 · uniqueItems: true

  • Cada elementostring

    format: "uuid"

Respuesta correcta 201

Incidencia de Linear y alerta de Slack completadas, incluida una repetición idempotente.

application/json

  • valueobject
  • dataobject
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "submitted"

  • linearIssueIdentifierstring | null
  • linearIssueUrlstring | null

    format: "uri"

Ejemplo de 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

Subir una captura de pantalla o vídeo al almacenamiento privado de Linear

Las cargas binarias admiten hasta 25 MiB. Las cargas JSON base64 admiten hasta 2 MiB. Reutiliza attachment_id al reintentar el mismo archivo. Requiere automation:execute para claves de API.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

attachment_id
query

Obligatorio para cargas binarias; UUID por archivo.

  • valuestring

    format: "uuid"

x-banger-filename
header

Nombre de archivo codificado como URI, obligatorio para cargas binarias.

  • valuestring

Cuerpo de la solicitud obligatorio

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_idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio

    minLength: 1 · maxLength: 200

  • mime_typestringobligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp", "video/mp4", "video/webm", "video/quicktime"

  • base64stringobligatorio

    minLength: 4 · maxLength: 2796204

Respuesta correcta 200

Adjunto completado existente.

application/json

  • valueobject
  • dataobjectobligatorio
  • attachment_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "ready"

Ejemplo de 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

Preparar una carga directa de medios desde agente o servidor

Devuelve una URL PUT firmada temporal y las cabeceras de carga obligatorias. Envía los bytes del archivo con esas cabeceras, sin credenciales de Banger, y completa la carga. No cargues directamente desde navegadores; usa el proxy binario autenticado. Hasta 30 cargas y 250 MiB por informante al día.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • attachment_idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio

    minLength: 1 · maxLength: 200

  • mime_typestringobligatorio

    enum: "image/png", "image/jpeg", "image/gif", "image/webp", "video/mp4", "video/webm", "video/quicktime"

  • size_bytesintegerobligatorio

    minimum: 1 · maximum: 26214400

Respuesta correcta 201

data contiene attachment_id, status y upload con url firmada, method PUT y headers durante la carga. Si está ready, no necesita carga.

application/json

  • valueobject
  • dataobjectobligatorio
  • attachment_idstringobligatorio

    format: "uuid"

  • filenamestringobligatorio
  • mime_typestringobligatorio
  • size_bytesintegerobligatorio
  • statusstringobligatorio

    enum: "ready", "uploading"

  • uploadobject
  • urlstringobligatorio
  • methodstringobligatorio

    enum: "PUT"

  • headersobjectobligatorio
  • Propiedad adicionalstring

Ejemplo de 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

Verificar una carga directa de medios antes de adjuntarla a comentarios

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

attachmentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

data contiene attachment_id y status ready. La finalización es idempotente.

application/json

  • valueobject
  • dataobjectobligatorio
  • attachment_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "ready"

Ejemplo de curl

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

Inicio

GET/v1/workspaces/{workspaceId}/home

Carga el Inicio de configuración u operativo del producto seleccionado.

La pertenencia, validez del producto, proyección de configuración, resúmenes operativos y actividad reciente se leen en una sola instrucción de base de datos aislada por inquilino.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Pantalla de Inicio del producto seleccionado.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • setupobjectobligatorio

    Sin propiedades adicionales

  • stagestringobligatorio

    enum: "domain", "mailboxes", "journeys", "broadcast", "complete"

  • domainobjectobligatorio

    Sin propiedades adicionales

  • statusstringobligatorio

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

  • detailstringobligatorio
  • mailboxesobjectobligatorio

    Sin propiedades adicionales

  • statusstringobligatorio

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

  • detailstringobligatorio
  • journeysobjectobligatorio

    Sin propiedades adicionales

  • statusstringobligatorio

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

  • detailstringobligatorio
  • broadcastobjectobligatorio

    Sin propiedades adicionales

  • statusstringobligatorio

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

  • detailstringobligatorio
  • needsYouobjectobligatorio

    Sin propiedades adicionales

  • undecidedApprovalsintegerobligatorio

    minimum: 0

  • oldestApprovalsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • summarystringobligatorio
  • actionKindstringobligatorio
  • createdAtstringobligatorio

    format: "date-time"

  • failedSteps24harrayobligatorio
  • Cada elementoobject
  • journeyIdstringobligatorio

    format: "uuid"

  • journeyNamestringobligatorio
  • countintegerobligatorio

    minimum: 0

  • deliverabilityAlertsarrayobligatorio
  • Cada elementoobject
  • kindstringobligatorio

    enum: "bounce_rate", "complaint_rate", "dns_drift", "lane_paused"

  • detailstringobligatorio
  • destinationstringobligatorio

    enum: "deliverability", "domains"

  • unreadInboundarrayobligatorio
  • Cada elementoobject
  • mailboxIdstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • countintegerobligatorio

    minimum: 0

  • splitsReadyToDecidearrayobligatorio
  • Cada elementoobject
  • journeyIdstringobligatorio

    format: "uuid"

  • journeyNamestringobligatorio
  • unclaimedJourneysintegerobligatorio

    minimum: 0

  • journeysobjectobligatorio

    Sin propiedades adicionales

  • activeintegerobligatorio

    minimum: 0

  • entered30dintegerobligatorio

    minimum: 0

  • sent30dintegerobligatorio

    minimum: 0

  • toparrayobligatorio
  • Cada elementono especificado
  • allOf 1object

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • mailbox_idstring

    Remitente existente. Omítelo para priorizar el remitente de configuración inicial, después un buzón personalizado activo y después uno alojado. Los remitentes guardados y explícitos no cambian.

    format: "uuid"

    Se omiten niveles anidados adicionales

  • from_local_partstring

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

    Se omiten niveles anidados adicionales

  • triggerobjectobligatorio

    Se omiten niveles anidados adicionales

  • audienceobject

    Se omiten niveles anidados adicionales

  • goalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • exitobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • approval_modestring

    enum: "policy", "required"

    Se omiten niveles anidados adicionales

  • apiobject

    Se omiten niveles anidados adicionales

  • managed_contentobject

    Atajo solo de creación: guarda de forma atómica un borrador de correo con fuente gestionada y una Jornada cuyo paso de correo lo referencia. Los idiomas de destino que faltan entran en cola para traducción gratuita; esto no publica ni activa la Jornada.

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • stepsarrayobligatorio

    maxItems: 100

    Se omiten niveles anidados adicionales

  • allOf 2object
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

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

    Se omiten niveles anidados adicionales

  • api_keystring | null

    Se omiten niveles anidados adicionales

  • content_modestring | null

    enum: "code", "managed", null

    Se omiten niveles anidados adicionales

  • identitystring | null

    Se omiten niveles anidados adicionales

  • identity_aliasesarray

    Se omiten niveles anidados adicionales

  • samplesarray

    Se omiten niveles anidados adicionales

  • versionintegerobligatorio

    minimum: 1

    Se omiten niveles anidados adicionales

  • statsobjectobligatorio

    Se omiten niveles anidados adicionales

  • stepStatsarray

    Se omiten niveles anidados adicionales

  • armStatsarray

    Se omiten niveles anidados adicionales

  • healthobjectobligatorio

    Se omiten niveles anidados adicionales

  • indicatorobjectobligatorio

    Se omiten niveles anidados adicionales

  • sparklinearrayobligatorio

    Se omiten niveles anidados adicionales

  • activated_atstring | null

    format: "date-time"

    Se omiten niveles anidados adicionales

  • updated_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_activity_atstring | null

    format: "date-time"

    Se omiten niveles anidados adicionales

  • broadcastobjectobligatorio

    Sin propiedades adicionales

  • nextobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • scheduledAtstringobligatorio

    format: "date-time"

  • recipientsintegerobligatorio

    minimum: 0

  • lastobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • sentAtstringobligatorio

    format: "date-time"

  • deliveredintegerobligatorio

    minimum: 0

  • humanOpenedintegerobligatorio

    minimum: 0

  • repliedintegerobligatorio

    minimum: 0

  • recentLogsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • directionstringobligatorio

    enum: "out", "in"

  • atstringobligatorio

    format: "date-time"

  • mailbox_idstring | nullobligatorio

    Null para envíos que no salen por un buzón, como API y SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

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

  • fromstringobligatorio
  • toarrayobligatorio
  • Cada elementostring
  • recipient_countintegerobligatorio

    minimum: 0

  • subjectstringobligatorio
  • originobjectobligatorio

    Sin propiedades adicionales

  • kindstringobligatorio

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobligatorio

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Por qué Banger rechazó un intento SMTP y la respuesta que recibió el cliente.

  • refstringobligatorio

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobligatorio

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobligatorio

    La respuesta SMTP completa, p. ej. `550 5.7.1 ...`.

  • reply_codeintegerobligatorio

    minimum: 400 · maximum: 599

  • enhanced_codestringobligatorio
  • reasonstringobligatorio
  • messagestringobligatorio
  • key_prefixstringobligatorio

    El prefijo público `bgr_` de la clave de API usada por el cliente.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobligatorio

    Los accesos fallidos con una clave se agrupan en una fila por cada diez minutos.

    minimum: 1

  • last_atstringobligatorio

    format: "date-time"

  • detailobject
  • Propiedad adicionalCualquier valor
  • volumeobjectobligatorio
  • sentPeriodintegerobligatorio

    minimum: 0

  • limitintegerobligatorio

    minimum: 0

  • deliveredRatenumber

    minimum: 0 · maximum: 1

  • mailboxesintegerobligatorio

    minimum: 0

  • verifiedDomainsintegerobligatorio

    minimum: 0

  • Propiedad adicionalCualquier valor
  • agentobjectobligatorio

    Sin propiedades adicionales

  • connectedbooleanobligatorio
  • clientNamestring

Ejemplo de curl

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

Sugerencias de etiquetas

GET/v1/workspaces/{workspaceId}/label-suggestions

listLabelSuggestions

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailbox_id
query · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • namestringobligatorio
  • emojistringobligatorio
  • colorstringobligatorio
  • descriptionstringobligatorio
  • already_addedbooleanobligatorio

Ejemplo de 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"

Etiquetas

GET/v1/workspaces/{workspaceId}/labels

listLabels

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • colorstring | nullobligatorio
  • kindstringobligatorio
  • emojistring | nullobligatorio
  • descriptionstring | nullobligatorio
  • suggestion_idstring | nullobligatorio
  • sourcestringobligatorio

    enum: "banger", "provider"

  • updated_atstringobligatorio

    format: "date-time"

  • auto_setno especificadoobligatorio
  • anyOf 1object
  • rule_idstringobligatorio

    format: "uuid"

  • enabledbooleanobligatorio
  • descriptionstring | nullobligatorio
  • exact_conditionsobjectobligatorio

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

    Se omiten niveles anidados adicionales

  • toarray

    maxItems: 50

    Se omiten niveles anidados adicionales

  • subject_containsarray

    maxItems: 50

    Se omiten niveles anidados adicionales

  • has_wordsarray

    maxItems: 50

    Se omiten niveles anidados adicionales

  • excludes_wordsarray

    maxItems: 50

    Se omiten niveles anidados adicionales

  • has_attachmentboolean

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • applied_by_rule_countintegerobligatorio

Ejemplo de 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 una etiqueta de Banger en un buzón. Pasa suggestion_id para crear una etiqueta sugerida; un nombre existente devuelve la etiqueta existente (200). Las etiquetas de Banger nunca se sincronizan con Gmail.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Clave opcional de reintento, aplicada cuando hay un producto seleccionado.

  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • mailbox_idstringobligatorio

    format: "uuid"

  • namestring

    maxLength: 120

  • colorstring

    maxLength: 32

  • emojistring

    Un emoji mostrado antes del nombre.

    maxLength: 16

  • descriptionstring

    maxLength: 2000

  • suggestion_idstring

    maxLength: 64

  • auto_setobject
  • enabledbooleanobligatorio
  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • colorstring | nullobligatorio
  • kindstringobligatorio
  • emojistring | nullobligatorio
  • descriptionstring | nullobligatorio
  • suggestion_idstring | nullobligatorio
  • sourcestringobligatorio

    enum: "banger", "provider"

  • updated_atstringobligatorio

    format: "date-time"

  • auto_setno especificadoobligatorio
  • anyOf 1object
  • rule_idstringobligatorio

    format: "uuid"

  • enabledbooleanobligatorio
  • descriptionstring | nullobligatorio
  • exact_conditionsobjectobligatorio

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • has_attachmentboolean
  • anyOf 2null
  • applied_by_rule_countintegerobligatorio

Ejemplo de 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

Renombra una etiqueta de Banger, cambia color, emoji o descripción, o activa/desactiva su regla automática. Las etiquetas de Gmail y del sistema son de solo lectura.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

labelId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Clave opcional de reintento, aplicada cuando hay un producto seleccionado.

  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestring

    maxLength: 120

  • colorstring | null

    maxLength: 32

  • emojistring | null

    maxLength: 16

  • descriptionstring | null

    maxLength: 2000

  • auto_setobject
  • enabledbooleanobligatorio
  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • colorstring | nullobligatorio
  • kindstringobligatorio
  • emojistring | nullobligatorio
  • descriptionstring | nullobligatorio
  • suggestion_idstring | nullobligatorio
  • sourcestringobligatorio

    enum: "banger", "provider"

  • updated_atstringobligatorio

    format: "date-time"

  • auto_setno especificadoobligatorio
  • anyOf 1object
  • rule_idstringobligatorio

    format: "uuid"

  • enabledbooleanobligatorio
  • descriptionstring | nullobligatorio
  • exact_conditionsobjectobligatorio

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

    Se omiten niveles anidados adicionales

  • has_attachmentboolean
  • anyOf 2null
  • applied_by_rule_countintegerobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

labelId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Etiqueta eliminada.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Registros

GET/v1/workspaces/{workspaceId}/logs

listLogs

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • 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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Página por cursor de la cronología combinada de envíos y recepciones, con intentos SMTP rechazados por Banger como filas `rejected`. `query` también encuentra rechazos por su referencia `smtp_` o el prefijo `bgr_` de la clave usada.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • directionstringobligatorio

    enum: "out", "in"

  • atstringobligatorio

    format: "date-time"

  • mailbox_idstring | nullobligatorio

    Null para envíos que no salen por un buzón, como API y SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

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

  • fromstringobligatorio
  • toarrayobligatorio
  • Cada elementostring
  • recipient_countintegerobligatorio

    minimum: 0

  • subjectstringobligatorio
  • originobjectobligatorio

    Sin propiedades adicionales

  • kindstringobligatorio

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobligatorio

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Por qué Banger rechazó un intento SMTP y la respuesta que recibió el cliente.

  • refstringobligatorio

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobligatorio

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobligatorio

    La respuesta SMTP completa, p. ej. `550 5.7.1 ...`.

  • reply_codeintegerobligatorio

    minimum: 400 · maximum: 599

  • enhanced_codestringobligatorio
  • reasonstringobligatorio
  • messagestringobligatorio
  • key_prefixstringobligatorio

    El prefijo público `bgr_` de la clave de API usada por el cliente.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobligatorio

    Los accesos fallidos con una clave se agrupan en una fila por cada diez minutos.

    minimum: 1

  • last_atstringobligatorio

    format: "date-time"

  • detailobject
  • Propiedad adicionalCualquier valor
  • pageobjectobligatorio

    Sin propiedades adicionales

  • has_morebooleanobligatorio
  • next_cursorstring

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

entryId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • directionstringobligatorio

    enum: "out", "in"

  • atstringobligatorio

    format: "date-time"

  • mailbox_idstring | nullobligatorio

    Null para envíos que no salen por un buzón, como API y SMTP.

    format: "uuid"

  • thread_idstring

    format: "uuid"

  • send_intent_idstring

    format: "uuid"

  • traffic_classstring

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

  • fromstringobligatorio
  • toarrayobligatorio
  • Cada elementostring
  • recipient_countintegerobligatorio

    minimum: 0

  • subjectstringobligatorio
  • originobjectobligatorio

    Sin propiedades adicionales

  • kindstringobligatorio

    enum: "journey", "broadcast", "mailbox", "api", "agent", "smtp"

  • idstring
  • namestring
  • statusstringobligatorio

    enum: "queued", "sent", "delivered", "bounced", "complained", "opened", "clicked", "replied", "received", "failed", "rejected"

  • rejectionobject

    Por qué Banger rechazó un intento SMTP y la respuesta que recibió el cliente.

  • refstringobligatorio

    pattern: "^smtp_[0-9a-z]{16}$"

  • kindstringobligatorio

    enum: "login_failed", "recipient_refused", "message_rejected"

  • replystringobligatorio

    La respuesta SMTP completa, p. ej. `550 5.7.1 ...`.

  • reply_codeintegerobligatorio

    minimum: 400 · maximum: 599

  • enhanced_codestringobligatorio
  • reasonstringobligatorio
  • messagestringobligatorio
  • key_prefixstringobligatorio

    El prefijo público `bgr_` de la clave de API usada por el cliente.

  • client_ipstring
  • portinteger
  • tlsstring
  • attemptsintegerobligatorio

    Los accesos fallidos con una clave se agrupan en una fila por cada diez minutos.

    minimum: 1

  • last_atstringobligatorio

    format: "date-time"

  • detailobject
  • Propiedad adicionalCualquier valor
  • allOf 2object
  • detailno especificadoobligatorio
  • oneOf 1object
  • kindstringobligatorio

    enum: "inbound"

  • threadno especificadoobligatorio
  • allOf 1object

    Se omiten niveles anidados adicionales

  • allOf 2object

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • kindstringobligatorio

    enum: "broadcast", "outbound"

  • sendobjectobligatorio
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstring | nullobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • command_idstring | nullobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    Se omiten niveles anidados adicionales

  • command_statusstring | nullobligatorio

    Se omiten niveles anidados adicionales

  • subjectstring

    Se omiten niveles anidados adicionales

  • recipientsarray

    Se omiten niveles anidados adicionales

  • recipient_countintegerobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring | null

    Se omiten niveles anidados adicionales

  • send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstring | null

    Se omiten niveles anidados adicionales

  • route_kindstring | null

    Se omiten niveles anidados adicionales

  • sourcestring

    Se omiten niveles anidados adicionales

  • from_addressstring

    Se omiten niveles anidados adicionales

  • recipient_statesobject

    Se omiten niveles anidados adicionales

  • provider_message_idstring | null

    Se omiten niveles anidados adicionales

  • languageno especificado

    El idioma en que se envió este correo; null si no se tradujo.

    Se omiten niveles anidados adicionales

  • journeyobject | null

    El paso y la inscripción de la Jornada que enviaron este correo; null para otros envíos.

    Se omiten niveles anidados adicionales

  • experimentobject | null

    La variante del experimento de este correo; null si no se aplicó ninguna.

    Se omiten niveles anidados adicionales

  • created_atstringobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • updated_atstringobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • completed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • template_idstring | null

    format: "uuid"

    Se omiten niveles anidados adicionales

  • template_versioninteger | null

    Se omiten niveles anidados adicionales

  • workspace_revisioninteger | null

    Se omiten niveles anidados adicionales

  • command_resultobject

    Se omiten niveles anidados adicionales

  • command_started_atstring | null

    format: "date-time"

    Se omiten niveles anidados adicionales

  • command_completed_atstring | null

    format: "date-time"

    Se omiten niveles anidados adicionales

  • body_textstring

    Se omiten niveles anidados adicionales

  • body_htmlstring

    Se omiten niveles anidados adicionales

  • reply_toarray

    Se omiten niveles anidados adicionales

  • headersobject

    Se omiten niveles anidados adicionales

  • tagsarray

    Se omiten niveles anidados adicionales

  • timelinearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

Ejemplo de curl

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

Página de correo

GET/v1/workspaces/{workspaceId}/mail-page

getMailPage

Devuelve todos los datos de correo para la primera visualización en una solicitud: buzones visibles, buzón seleccionado, etiquetas, recuentos de buzón, revisión del espacio de trabajo y primera página de conversaciones del buzón seleccionado.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

mailbox_id
query

Buzón preferido. Usa el primer buzón visible como alternativa.

  • valuestring

    format: "uuid"

label_id
query

Devuelve solo conversaciones del buzón seleccionado con esta etiqueta.

  • valuestring

    format: "uuid"

view
query
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Datos de correo para la primera visualización del espacio de trabajo.

application/json

  • valueobject
  • dataobjectobligatorio
  • mailboxesarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • product_idstring | null

    El producto (proyecto) al que pertenece el buzón. Los clientes lo usan para agrupar buzones y crear enlaces a la aplicación web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatorio

    format: "email"

  • display_namestringobligatorio
  • providerstringobligatorio

    enum: "gmail", "smtp"

  • statusstringobligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatorio

    enum: "domain", "starter"

  • domainsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • selected_mailbox_idstring

    format: "uuid"

  • labelsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • colorstring | null
  • kindstringobligatorio
  • updated_atstringobligatorio

    format: "date-time"

  • threadsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • subjectstringobligatorio
  • snippetstringobligatorio
  • last_message_atstringobligatorio

    format: "date-time"

  • message_countintegerobligatorio
  • unread_countintegerobligatorio
  • is_archivedbooleanobligatorio
  • is_trashbooleanobligatorio
  • is_spambooleanobligatorio
  • is_starredbooleanobligatorio
  • is_sentbooleanobligatorio
  • has_attachmentsbooleanobligatorio
  • labelsarrayobligatorio
  • Cada elementostring
  • participantsarray
  • Cada elementoobject
  • namestring

    Se omiten niveles anidados adicionales

  • emailstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • pageobjectobligatorio
  • next_cursorstring
  • has_morebooleanobligatorio
  • mailbox_thread_countsobjectobligatorio
  • Propiedad adicionalinteger
  • revisionintegerobligatorio

    format: "int64"

Ejemplo de 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"

Migración de Mailchimp

GET/v1/workspaces/{workspaceId}/mailchimp-migration

Lee el progreso e informe de la migración desde 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.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

connection_id
query
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Informe actual de la migración.

application/json

  • valueobject
  • dataobjectobligatorio

    La migración de una conexión de Mailchimp a un producto. Consulta GET /mailchimp-migration periódicamente para ver el progreso en directo: `phase` indica dónde está; `counts`, `audiences`, `segments`, `templates` y `campaigns` crecen durante el proceso.

  • migration_idstringobligatorio

    format: "uuid"

  • connection_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "importing", "completed"

  • phasestringobligatorio

    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_atstringobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • connectionobjectobligatorio
  • display_namestringobligatorio
  • account_namestring | nullobligatorio
  • statusstringobligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobligatorio
  • needs_new_keybooleanobligatorio
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobligatorio
  • import_streamsintegerobligatorio
  • import_streams_doneintegerobligatorio
  • failing_streamsarrayobligatorio
  • Cada elementoobject
  • streamstringobligatorio
  • refstringobligatorio
  • error_codestring | nullobligatorio
  • designs_waitingintegerobligatorio
  • notestringobligatorio
  • countsobjectobligatorio
  • contactsintegerobligatorio
  • subscribedintegerobligatorio
  • unsubscribedintegerobligatorio
  • bouncedintegerobligatorio
  • contact_listsintegerobligatorio
  • contact_fieldsintegerobligatorio
  • segments_convertedintegerobligatorio
  • segments_kept_as_listsintegerobligatorio
  • templates_importedintegerobligatorio
  • templates_to_rebuildintegerobligatorio
  • campaigns_imported_as_designsintegerobligatorio
  • automations_importedintegerobligatorio
  • audiencesarrayobligatorio
  • Cada elementoobject
  • mailchimp_idstringobligatorio
  • namestringobligatorio
  • list_idstring | nullobligatorio

    format: "uuid"

  • list_namestring | nullobligatorio
  • members_in_bangerintegerobligatorio
  • subscribedintegerobligatorio
  • unsubscribedintegerobligatorio
  • bouncedintegerobligatorio
  • members_in_mailchimpintegerobligatorio
  • contact_fieldsarrayobligatorio
  • Cada elementoobject
  • mailchimp_tagstringobligatorio
  • namestringobligatorio
  • field_keystringobligatorio
  • typestringobligatorio

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

  • consentstringobligatorio
  • segmentsarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring
  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring
  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject
  • keystringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • templatesarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring
  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring
  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject
  • keystringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • campaignsarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring
  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring
  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject
  • keystringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • automationsobjectobligatorio
  • importedbooleanobligatorio

    const: false

  • whystringobligatorio
  • next_stepsarrayobligatorio
  • Cada elementostring
  • help_call_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Inicia o vuelve a ejecutar la migración desde Mailchimp a este producto.

Conectar Mailchimp ya la inicia; volver a ejecutarla resincroniza y añade solo lo nuevo. Necesita contacts:write y campaigns:write; una persona conectada debe ser propietaria o administradora. No requiere autorización de conexión.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • connection_idstring

    format: "uuid"

  • recent_campaignsinteger

    minimum: 0 · maximum: 50 · default: 10

Respuesta correcta 202

La migración se ejecuta en segundo plano.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object

    La migración de una conexión de Mailchimp a un producto. Consulta GET /mailchimp-migration periódicamente para ver el progreso en directo: `phase` indica dónde está; `counts`, `audiences`, `segments`, `templates` y `campaigns` crecen durante el proceso.

  • migration_idstringobligatorio

    format: "uuid"

  • connection_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "importing", "completed"

  • phasestringobligatorio

    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_atstringobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • connectionobjectobligatorio
  • display_namestringobligatorio
  • account_namestring | nullobligatorio
  • statusstringobligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobligatorio
  • needs_new_keybooleanobligatorio
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobligatorio
  • import_streamsintegerobligatorio
  • import_streams_doneintegerobligatorio
  • failing_streamsarrayobligatorio
  • Cada elementoobject
  • streamstringobligatorio

    Se omiten niveles anidados adicionales

  • refstringobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • designs_waitingintegerobligatorio
  • notestringobligatorio
  • countsobjectobligatorio
  • contactsintegerobligatorio
  • subscribedintegerobligatorio
  • unsubscribedintegerobligatorio
  • bouncedintegerobligatorio
  • contact_listsintegerobligatorio
  • contact_fieldsintegerobligatorio
  • segments_convertedintegerobligatorio
  • segments_kept_as_listsintegerobligatorio
  • templates_importedintegerobligatorio
  • templates_to_rebuildintegerobligatorio
  • campaigns_imported_as_designsintegerobligatorio
  • automations_importedintegerobligatorio
  • audiencesarrayobligatorio
  • Cada elementoobject
  • mailchimp_idstringobligatorio
  • namestringobligatorio
  • list_idstring | nullobligatorio

    format: "uuid"

  • list_namestring | nullobligatorio
  • members_in_bangerintegerobligatorio
  • subscribedintegerobligatorio
  • unsubscribedintegerobligatorio
  • bouncedintegerobligatorio
  • members_in_mailchimpintegerobligatorio
  • contact_fieldsarrayobligatorio
  • Cada elementoobject
  • mailchimp_tagstringobligatorio
  • namestringobligatorio
  • field_keystringobligatorio
  • typestringobligatorio

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

  • consentstringobligatorio
  • segmentsarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring

    Se omiten niveles anidados adicionales

  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring

    Se omiten niveles anidados adicionales

  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • templatesarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring

    Se omiten niveles anidados adicionales

  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring

    Se omiten niveles anidados adicionales

  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • campaignsarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring

    Se omiten niveles anidados adicionales

  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring

    Se omiten niveles anidados adicionales

  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • automationsobjectobligatorio
  • importedbooleanobligatorio

    const: false

  • whystringobligatorio
  • next_stepsarrayobligatorio
  • Cada elementostring
  • help_call_urlstringobligatorio

    format: "uri"

  • allOf 2object
  • messagestring

Ejemplo de 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
}'

Contenido gestionado

GET/v1/workspaces/{workspaceId}/managed-content

Lista el contenido de correo gestionado del producto en orden estable, primero el ID más reciente.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

limit
query
  • valueinteger

    minimum: 1 · maximum: 100 · default: 50

cursor
query
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Inventario de contenido del producto y cursor siguiente opcional.

application/json

  • valueobject
  • dataobjectobligatorio
  • itemsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio

    minimum: 1

  • review_requiredbooleanobligatorio
  • 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
  • Propiedad adicionalCualquier valor
  • translationsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • translation_jobsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • next_cursorstring | nullobligatorio

    format: "uuid"

Ejemplo de 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

Guarda un borrador de correo en el idioma fuente y pone en cola las traducciones de destino que faltan.

No envía ni publica. La preparación de traducciones no tiene cargo por idioma.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • contractobjectobligatorio

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

  • oneOf 1object

    Sin propiedades adicionales

  • typestringobligatorio

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

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultno especificado

    Debe coincidir con el tipo del campo.

    Se omiten niveles anidados adicionales

  • oneOf 2object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "object"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultobject

    Se omiten niveles anidados adicionales

  • propertiesobjectobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "list"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultarray

    Se omiten niveles anidados adicionales

  • itemsno especificadoobligatorio

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

Respuesta correcta 201

Fuente de borrador y tareas de traducción en cola.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio

    minimum: 1

  • review_requiredbooleanobligatorio
  • 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
  • Propiedad adicionalCualquier valor
  • translationsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • translation_jobsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor

Ejemplo de 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}

Lee la revisión del borrador, traducciones y estado de preparación.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado actual del contenido.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio

    minimum: 1

  • review_requiredbooleanobligatorio
  • 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
  • Propiedad adicionalCualquier valor
  • translationsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • translation_jobsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • allOf 2object
  • source_revisionobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • content_idstringobligatorio

    format: "uuid"

  • revisionintegerobligatorio
  • source_localestringobligatorio
  • configured_localesarrayobligatorio
  • Cada elementostring
  • fallback_localestring | nullobligatorio
  • localization_policyobjectobligatorio

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • source_messagesobjectobligatorio
  • Propiedad adicionalstring
  • layout_idstring | nullobligatorio

    format: "uuid"

  • layout_revision_idstring | nullobligatorio

    format: "uuid"

  • samplesobjectobligatorio
  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • restored_from_revision_idstring | nullobligatorio

    format: "uuid"

  • translationsarrayobligatorio
  • Cada elementono especificado
  • allOf 1object
  • source_revision_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • localestringobligatorio

    Se omiten niveles anidados adicionales

  • stringsobjectobligatorio

    Se omiten niveles anidados adicionales

  • provenancestringobligatorio

    enum: "supplied", "generated", "reviewed"

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "ready", "needs_review"

    Se omiten niveles anidados adicionales

  • allOf 2object
  • strings_sha256stringobligatorio

    Se omiten niveles anidados adicionales

  • translation_jobsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • source_revision_idstringobligatorio

    format: "uuid"

  • localestringobligatorio
  • statusstringobligatorio
  • attempt_countintegerobligatorio
  • error_codestring | nullobligatorio

Ejemplo de 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}

Guarda una nueva revisión fuente de borrador sin cambiar la publicación en producción.

Un cambio incompatible de variable no puede publicarse sobre este ID de contenido. Crea y publica contenido gestionado nuevo, cambia cada referencia de Jornada o Campaña en borrador al nuevo ID y después revisa/activa la Jornada o programa la Campaña. Los envíos ya aceptados y destinatarios de Campañas programadas conservan sus revisiones fijadas.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • expected_versionintegerobligatorio

    minimum: 1

  • contractobjectobligatorio

    Sin propiedades adicionales

  • source_localestring

    Configuración regional fuente BCP 47 canónica; hereda la configuración del producto si se omite.

  • configured_localesarray

    Configuraciones regionales fuente y de destino; el servidor añade la fuente si se omite.

    maxItems: 100 · uniqueItems: true

  • Cada elementostring
  • fallback_localestring
  • layout_idstring

    Estructura reutilizable seleccionada; el servidor captura su revisión publicada en esta revisión de contenido.

    format: "uuid"

  • localization_policyobject

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • body_textstring

    maxLength: 100000

  • layoutstring

    maxLength: 100000

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

  • oneOf 1object

    Sin propiedades adicionales

  • typestringobligatorio

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

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultno especificado

    Debe coincidir con el tipo del campo.

    Se omiten niveles anidados adicionales

  • oneOf 2object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "object"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultobject

    Se omiten niveles anidados adicionales

  • propertiesobjectobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3object

    Sin propiedades adicionales

  • typeno especificadoobligatorio

    const: "list"

    Se omiten niveles anidados adicionales

  • requiredboolean

    Se omiten niveles anidados adicionales

  • descriptionstring

    maxLength: 2000

    Se omiten niveles anidados adicionales

  • defaultarray

    Se omiten niveles anidados adicionales

  • itemsno especificadoobligatorio

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • samplesobject

    Conjuntos de valores de muestra con nombre para vista previa y validación de la fuente.

  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • translationsobject

    Catálogo fuente de mensajes ICU y catálogos de destino opcionales proporcionados. Los destinos configurados que faltan entran en cola para traducción asíncrona; guardar no los requiere.

  • Propiedad adicionalobject
  • Propiedad adicionalstring

Respuesta correcta 200

Nueva revisión de borrador y tareas de traducción en cola.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio

    minimum: 1

  • review_requiredbooleanobligatorio
  • 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
  • Propiedad adicionalCualquier valor
  • translationsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • translation_jobsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Previsualiza una revisión fuente guardada y un idioma listo sin enviar.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Usa sample_set o variables, nunca ambos. Por defecto, la primera muestra con nombre.

    Sin propiedades adicionales

  • source_revision_idstring

    format: "uuid"

  • variantstring

    Clave de versión A/B fuente.

  • localestring
  • timezonestring

    Zona horaria IANA; UTC por defecto.

  • sample_setstring
  • variablesobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Asunto, precabecera, HTML, texto plano derivado, idioma y dirección deterministas.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • subjectstringobligatorio
  • preheaderstring
  • htmlstringobligatorio
  • textstringobligatorio
  • localestringobligatorio
  • directionstringobligatorio

    enum: "ltr", "rtl"

  • warningsarray
  • Cada elementostring
  • Propiedad adicionalCualquier valor
  • allOf 2object
  • source_revision_idstringobligatorio

    format: "uuid"

  • layout_revision_idstring | nullobligatorio

    format: "uuid"

Ejemplo de 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

Reintenta una traducción automática fallida del borrador fuente actual.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

locale
path · obligatorio
  • valuestring

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Reintento de traducción en cola.

application/json

  • valueobject
  • databooleanobligatorio

Ejemplo de 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

Lee los catálogos de traducción y tareas de preparación de la revisión de borrador.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado actual del contenido, incluidas traducciones y tareas.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio

    minimum: 1

  • review_requiredbooleanobligatorio
  • 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
  • Propiedad adicionalCualquier valor
  • translationsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • translation_jobsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • allOf 2object
  • source_revisionobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • content_idstringobligatorio

    format: "uuid"

  • revisionintegerobligatorio
  • source_localestringobligatorio
  • configured_localesarrayobligatorio
  • Cada elementostring
  • fallback_localestring | nullobligatorio
  • localization_policyobjectobligatorio

    Un correo de Jornada solo sale en el idioma de la persona: espera su traducción, alrededor de un minuto para recibos, códigos y avisos de seguridad y hasta un día para otros correos, y no se envía si no está lista para entonces.

    Sin propiedades adicionales

  • manual_reviewboolean

    default: false

  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • source_messagesobjectobligatorio
  • Propiedad adicionalstring
  • layout_idstring | nullobligatorio

    format: "uuid"

  • layout_revision_idstring | nullobligatorio

    format: "uuid"

  • samplesobjectobligatorio
  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • restored_from_revision_idstring | nullobligatorio

    format: "uuid"

  • translationsarrayobligatorio
  • Cada elementono especificado
  • allOf 1object
  • source_revision_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • localestringobligatorio

    Se omiten niveles anidados adicionales

  • stringsobjectobligatorio

    Se omiten niveles anidados adicionales

  • provenancestringobligatorio

    enum: "supplied", "generated", "reviewed"

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "ready", "needs_review"

    Se omiten niveles anidados adicionales

  • allOf 2object
  • strings_sha256stringobligatorio

    Se omiten niveles anidados adicionales

  • translation_jobsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • source_revision_idstringobligatorio

    format: "uuid"

  • localestringobligatorio
  • statusstringobligatorio
  • attempt_countintegerobligatorio
  • error_codestring | nullobligatorio

Ejemplo de 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

Revisa el catálogo exacto de traducción pendiente de una revisión fuente.

Requiere el SHA-256 del catálogo de la lectura actual. Las cadenas corregidas son opcionales; esta operación no publica la fuente.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

locale
path · obligatorio
  • valuestring

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • source_revision_idstringobligatorio

    format: "uuid"

  • expected_translation_sha256stringobligatorio

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

  • stringsobject
  • Propiedad adicionalstring

Respuesta correcta 200

Catálogo revisado y su nuevo SHA-256.

application/json

  • valueobject
  • dataobjectobligatorio
  • source_revision_idstringobligatorio

    format: "uuid"

  • localestringobligatorio
  • stringsobjectobligatorio
  • Propiedad adicionalstring
  • provenancestringobligatorio

    enum: "reviewed"

  • statusstringobligatorio

    enum: "ready"

  • strings_sha256stringobligatorio

Ejemplo de 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

Lista el historial inmutable de publicación.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Registros de publicación.

application/json

  • valueobject
  • dataobjectobligatorio
  • versionsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • revisionintegerobligatorio
  • source_localestringobligatorio
  • configured_localesarrayobligatorio
  • Cada elementostring
  • sourceobjectobligatorio

    Sin propiedades adicionales

  • subjectstringobligatorio

    minLength: 1 · maxLength: 100000

  • preheaderstring

    maxLength: 100000

  • body_textstring

    Aceptado por compatibilidad con la fuente; el texto plano renderizado se deriva del HTML final.

    maxLength: 100000

  • body_htmlstringobligatorio

    minLength: 1 · maxLength: 100000

  • layoutstring

    Debe contener un slot {{ content }}.

    maxLength: 100000

  • variantsobject

    Versiones fuente opcionales. Cada versión se traduce automáticamente en la misma revisión.

  • Propiedad adicionalobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • variablesobjectobligatorio
  • Propiedad adicionalno especificado

    Variable tipada recursiva. Los valores monetarios usan {amount_cents: integer, currency: ISO 4217 code}; los valores date son fechas de calendario ISO y datetime son marcas de tiempo ISO con desplazamiento horario.

    Se omiten niveles anidados adicionales

  • source_messagesobjectobligatorio
  • Propiedad adicionalstring
  • samplesobjectobligatorio
  • Propiedad adicionalobject
  • Propiedad adicionalCualquier valor
  • restored_from_revision_idstring | nullobligatorio

    format: "uuid"

  • created_by_actor_idstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • publicationsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • source_revision_idstringobligatorio

    format: "uuid"

  • approval_idstring | nullobligatorio

    format: "uuid"

  • published_by_actor_idstringobligatorio
  • published_atstringobligatorio

    format: "date-time"

Ejemplo de 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 revisión fuente anterior a un nuevo borrador, sin publicarlo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

contentId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • source_revision_idstringobligatorio

    format: "uuid"

  • expected_versionintegerobligatorio

    minimum: 1

Respuesta correcta 200

Estado de borrador restaurado.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio

    minimum: 1

  • review_requiredbooleanobligatorio
  • 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
  • Propiedad adicionalCualquier valor
  • translationsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • translation_jobsarray
  • Cada elementoobject
  • Propiedad adicionalCualquier valor

Ejemplo de 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
}'

Diseños de estructura gestionados

GET/v1/workspaces/{workspaceId}/managed-layouts

Lista estructuras reutilizables de correo del producto.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estructuras del producto.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio
  • draft_revision_idstring | nullobligatorio

    format: "uuid"

  • published_revision_idstring | nullobligatorio

    format: "uuid"

  • published_publication_idstring | nullobligatorio

    format: "uuid"

Ejemplo de 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 una estructura en borrador desde HTML validado o un valor predeterminado basado en la marca.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

  • htmlstring

    Debe contener exactamente un slot de contenido.

  • source_localestring
  • source_messagesobject
  • Propiedad adicionalstring
  • translationsobject
  • Propiedad adicionalobject
  • Propiedad adicionalstring

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio
  • draft_revision_idstring | nullobligatorio

    format: "uuid"

  • published_revision_idstring | nullobligatorio

    format: "uuid"

  • published_publication_idstring | nullobligatorio

    format: "uuid"

  • replayedbooleanobligatorio

Ejemplo de 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}

Lee una estructura y su revisión actual de borrador.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

layoutId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estructura y revisión de borrador.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio
  • draft_revision_idstring | nullobligatorio

    format: "uuid"

  • published_revision_idstring | nullobligatorio

    format: "uuid"

  • published_publication_idstring | nullobligatorio

    format: "uuid"

  • draft_revisionno especificadoobligatorio
  • anyOf 1object
  • idstringobligatorio

    format: "uuid"

  • layout_idstring

    format: "uuid"

  • revisionintegerobligatorio
  • htmlstringobligatorio
  • brand_snapshotobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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_localestringobligatorio
  • source_messagesobjectobligatorio
  • Propiedad adicionalstring
  • translationsobjectobligatorio
  • Propiedad adicionalobject
  • Propiedad adicionalstring

    Se omiten niveles anidados adicionales

  • restored_from_revision_idstring | nullobligatorio

    format: "uuid"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

  • anyOf 2null

Ejemplo de 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}

Guarda una revisión validada de estructura en borrador.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

layoutId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • expected_versionintegerobligatorio

    minimum: 1

  • htmlstringobligatorio

    Debe contener exactamente un slot de contenido.

  • source_localestring
  • source_messagesobject
  • Propiedad adicionalstring
  • translationsobject
  • Propiedad adicionalobject
  • Propiedad adicionalstring

Respuesta correcta 200

Nueva revisión de borrador.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio
  • draft_revision_idstring | nullobligatorio

    format: "uuid"

  • published_revision_idstring | nullobligatorio

    format: "uuid"

  • published_publication_idstring | nullobligatorio

    format: "uuid"

Ejemplo de 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

Lista revisiones inmutables de estructura.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

layoutId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Revisiones de estructura.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • layout_idstring

    format: "uuid"

  • revisionintegerobligatorio
  • htmlstringobligatorio
  • brand_snapshotobjectobligatorio
  • company_namestring

    maxLength: 160

  • logo_urlstring

    El icono: el símbolo solo, en tamaño pequeño (pie de correo, formularios deslizantes) y como cabecera cuando no hay logotipo tipográfico.

    maxLength: 2000

  • wordmark_urlstring

    El logotipo tipográfico: el nombre de la empresa tal como está diseñado, mostrado solo en la parte superior de cada correo.

    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_localestringobligatorio
  • source_messagesobjectobligatorio
  • Propiedad adicionalstring
  • translationsobjectobligatorio
  • Propiedad adicionalobject
  • Propiedad adicionalstring
  • restored_from_revision_idstring | nullobligatorio

    format: "uuid"

  • created_by_actor_idstring
  • created_atstring

    format: "date-time"

Ejemplo de 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

Describe los borradores de contenido y publicaciones que dependen de una estructura.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

layoutId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Impacto de dependencias de la estructura.

application/json

  • valueobject
  • dataobjectobligatorio
  • layout_idstringobligatorio

    format: "uuid"

  • layout_revision_idstringobligatorio

    format: "uuid"

  • layout_versionintegerobligatorio
  • affected_contentsarrayobligatorio
  • Cada elementoobject
  • content_idstringobligatorio

    format: "uuid"

  • versionintegerobligatorio
  • published_revision_idstringobligatorio

    format: "uuid"

  • active_journeysarrayobligatorio
  • Cada elementoobject
  • journey_idstringobligatorio

    format: "uuid"

  • versionintegerobligatorio
  • definition_sha256stringobligatorio
  • manifest_sha256stringobligatorio

Ejemplo de 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 revisión inmutable de estructura a un nuevo borrador.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

layoutId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • layout_revision_idstringobligatorio

    format: "uuid"

  • expected_versionintegerobligatorio

    minimum: 1

Respuesta correcta 200

Revisión de borrador restaurada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • versionintegerobligatorio
  • draft_revision_idstring | nullobligatorio

    format: "uuid"

  • published_revision_idstring | nullobligatorio

    format: "uuid"

  • published_publication_idstring | nullobligatorio

    format: "uuid"

Ejemplo de 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
}'

Miembros

PATCH/v1/workspaces/{workspaceId}/members/{memberId}

Cambia el rol de otro miembro.

Propietarios y administradores asignan admin, member o viewer a otro miembro. El cambio debe hacerlo una persona conectada o un agente mediante su autorización OAuth; una clave de API independiente no puede hacerlo. Nadie cambia su propio rol y el rol del propietario no se puede cambiar. Asignar el rol actual no cambia nada.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

memberId
path · obligatorio

ID de identidad del miembro, como `id` en el directorio del espacio de trabajo.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • rolestringobligatorio

    enum: "admin", "member", "viewer"

Respuesta correcta 200

El miembro con su nuevo rol y el anterior.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • userIdstringobligatorio
  • emailstring

    format: "email"

  • displayNamestring
  • kindstringobligatorio

    const: "user"

  • rolestringobligatorio

    enum: "owner", "admin", "member", "viewer"

  • statusstringobligatorio

    enum: "active", "suspended"

  • allOf 2object
  • previousRolestringobligatorio

    enum: "owner", "admin", "member", "viewer"

Ejemplo de 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

Crear un ticket de configuración de conexión de agente

Requiere una sesión humana iniciada. Las claves de API y credenciales de agentes no pueden autorizar esta operación.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • entry_surfacestringobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent"

  • client_namestringobligatorio

    minLength: 1 · maxLength: 100

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • mcp_urlstringobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • scopesarrayobligatorio
  • Cada elementostring

Ejemplo de 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

Enviar por correo un código de conexión de agente

Requiere una sesión humana iniciada. Las claves de API y credenciales de agentes no pueden autorizar esta operación.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • mcp_urlstringobligatorio

    minLength: 8 · maxLength: 8000

  • reuse_pendingboolean

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • statusstringobligatorio

    enum: "code_sent"

  • messagestring
  • expires_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Cancelar un código pendiente de conexión de agente

Requiere una sesión humana iniciada. Las claves de API y credenciales de agentes no pueden autorizar esta operación.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • mcp_urlstringobligatorio

    minLength: 8 · maxLength: 8000

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • statusstringobligatorio

    enum: "cancelled"

Ejemplo de 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"
}'

Clientes Oauth

GET/v1/workspaces/{workspaceId}/oauth-clients

Lista los clientes OAuth del espacio de trabajo para plataformas de agentes que conectan con ID y secreto de cliente, como Gemini Enterprise.

Solo propietarios y administradores. Nunca se devuelven secretos.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Clientes OAuth activos, primero los más recientes.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • client_idstringobligatorio
  • namestringobligatorio
  • presetstringobligatorio

    enum: "gemini_enterprise", "custom"

  • client_surfacestringobligatorio

    La plataforma de agente de una conexión OAuth, según el nombre del cliente y sus URI de redirección.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • redirect_urisarrayobligatorio
  • Cada elementostring

    format: "uri"

  • connectionsintegerobligatorio

    Conexiones activas realizadas mediante este cliente.

    minimum: 0

  • created_atstringobligatorio

    format: "date-time"

  • created_by_youbooleanobligatorio
  • setupobjectobligatorio

    Valores que debes introducir en el formulario de servidor MCP personalizado de la plataforma de agentes.

  • server_urlstringobligatorio

    format: "uri"

  • authorization_urlstringobligatorio

    format: "uri"

  • token_urlstringobligatorio

    format: "uri"

  • scopesstringobligatorio

    Separados por espacios. offline_access solicita un token de actualización, que tiene toda conexión.

  • token_endpoint_auth_methodsarrayobligatorio
  • Cada elementostring

    enum: "client_secret_basic", "client_secret_post"

Ejemplo de 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 cliente OAuth confidencial (ID y secreto de cliente) para una plataforma de agentes.

Solo propietarios y administradores. Cada miembro que conecta mediante el cliente inicia sesión en Banger, aprueba el acceso y actúa con su propio rol en este espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestring

    Se muestra en Aplicaciones conectadas. "Gemini Enterprise" por defecto para ese ajuste preestablecido.

    minLength: 1 · maxLength: 100

  • presetstring

    gemini_enterprise usa la URI de redirección de Google; custom requiere redirect_uris.

    default: "gemini_enterprise" · enum: "gemini_enterprise", "custom"

  • redirect_urisarray

    Solo ajuste custom. URI de redirección HTTPS, fijadas al crear.

    minItems: 1 · maxItems: 10

  • Cada elementostring

    format: "uri"

Respuesta correcta 201

Cliente OAuth creado. El secreto del cliente solo se devuelve una vez.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • client_idstringobligatorio
  • namestringobligatorio
  • presetstringobligatorio

    enum: "gemini_enterprise", "custom"

  • client_surfacestringobligatorio

    La plataforma de agente de una conexión OAuth, según el nombre del cliente y sus URI de redirección.

    enum: "codex", "chatgpt", "claude", "grok", "gemini", "other_agent"

  • redirect_urisarrayobligatorio
  • Cada elementostring

    format: "uri"

  • connectionsintegerobligatorio

    Conexiones activas realizadas mediante este cliente.

    minimum: 0

  • created_atstringobligatorio

    format: "date-time"

  • created_by_youbooleanobligatorio
  • setupobjectobligatorio

    Valores que debes introducir en el formulario de servidor MCP personalizado de la plataforma de agentes.

  • server_urlstringobligatorio

    format: "uri"

  • authorization_urlstringobligatorio

    format: "uri"

  • token_urlstringobligatorio

    format: "uri"

  • scopesstringobligatorio

    Separados por espacios. offline_access solicita un token de actualización, que tiene toda conexión.

  • token_endpoint_auth_methodsarrayobligatorio
  • Cada elementostring

    enum: "client_secret_basic", "client_secret_post"

  • allOf 2object
  • client_secretstringobligatorio

Ejemplo de 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 cliente OAuth. Su secreto deja de funcionar y toda conexión realizada mediante él pierde acceso en unos 30 segundos.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

clientId
path · obligatorio
  • valuestring

    maxLength: 200

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Cliente OAuth revocado.

application/json

  • valueobject
  • dataobjectobligatorio
  • client_idstringobligatorio
  • revokedbooleanobligatorio

    const: true

  • revoked_connectionsintegerobligatorio

    minimum: 0

Ejemplo de curl

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

Ticket en tiempo real

POST/v1/workspaces/{workspaceId}/realtime-ticket

createRealtimeTicket

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • device_idstringobligatorio

    minLength: 8 · maxLength: 128

Respuesta correcta 200

Ticket de corta duración limitado al actor y al espacio de trabajo.

application/json

  • valueobject
  • dataobjectobligatorio
  • ticketstringobligatorio
  • websocket_urlstringobligatorio

    format: "uri"

  • expires_atstringobligatorio

    format: "date-time"

Ejemplo de 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"
}'

Política de revisión

GET/v1/workspaces/{workspaceId}/review-policy

getActionReviewPolicy

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Política de revisión automática del espacio de trabajo.

application/json

  • valueobject
  • dataobjectobligatorio
  • policy_versionintegerobligatorio

    enum: 1, 2

  • automatic_review_enabledbooleanobligatorio
  • manual_send_review_enabledbooleanobligatorio

    False por defecto para solicitudes directas; los límites guardados más estrictos siguen activos.

  • manual_send_recipient_thresholdintegerobligatorio

    minimum: 1 · maximum: 1000000

  • updated_by_actor_idstringobligatorio
  • created_atstring | null

    format: "date-time"

  • updated_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • automatic_review_enabledbooleanobligatorio
  • manual_send_recipient_thresholdintegerobligatorio

    minimum: 1 · maximum: 1000000

  • manual_send_review_enabledboolean

    Activa el límite opcional de revisión humana; las actualizaciones explícitas del umbral heredado lo mantienen activo.

Respuesta correcta 200

Política de revisión automática actualizada.

application/json

  • valueobject
  • dataobjectobligatorio
  • policy_versionintegerobligatorio

    enum: 1, 2

  • automatic_review_enabledbooleanobligatorio
  • manual_send_review_enabledbooleanobligatorio

    False por defecto para solicitudes directas; los límites guardados más estrictos siguen activos.

  • manual_send_recipient_thresholdintegerobligatorio

    minimum: 1 · maximum: 1000000

  • updated_by_actor_idstringobligatorio
  • created_atstring | null

    format: "date-time"

  • updated_atstring | null

    format: "date-time"

Ejemplo de 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
}'

Seleccionar

POST/v1/workspaces/{workspaceId}/select

Convierte un espacio de trabajo en el actual de la persona conectada.

Solo sesiones de navegador; las claves de API y autorizaciones OAuth están fijadas al espacio de trabajo autorizado y reciben 403 credential_workspace_pinned. Requiere pertenencia activa. La aplicación abre entonces este espacio de trabajo con sus productos y configuración inicial. No reinicia la jornada de configuración inicial de la persona. Idempotente.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Espacio de trabajo seleccionado.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • selected_workspace_idstringobligatorio

    format: "uuid"

Ejemplo de curl

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

Avatar del remitente

GET/v1/workspaces/{workspaceId}/sender-avatar

getSenderAvatar

Primero resuelve un avatar exacto del remitente, después descubre y almacena en caché el icono del dominio del remitente en el prefijo B2 privado del espacio de trabajo. Un remitente sin imagen responde 204; 404 indica que la dirección no es remitente en este espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

email
query · obligatorio
  • valuestring

    format: "email" · maxLength: 320

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Imagen autenticada del avatar del remitente o dominio.

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"

Ejemplo de curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sender-avatar?email=person%40example.com' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Estado del envío

GET/v1/workspaces/{workspaceId}/sending-health

Lee el estado de aplicación de reputación del remitente, tasas por canal, pausas y umbrales aplicados.

Cada canal (Buzón, Producto, Campaña) de cada dominio de envío, con tasas de rebote permanente y queja de las últimas 24 horas y estado (active, warning, paused), pausas de dominio, buzones pausados y si el espacio de trabajo está congelado. Cada pausa lista las principales fuentes de rebote y queja y si un administrador puede reanudarla. Los umbrales están documentados en docs/product/sending-reputation-enforcement.md.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado del envío.

application/json

  • valueobject
  • dataobjectobligatorio
  • workspaceobjectobligatorio
  • statestringobligatorio

    enum: "active", "frozen"

  • holdno especificadoobligatorio
  • oneOf 1object
  • idstringobligatorio

    format: "uuid"

  • scopestringobligatorio

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobligatorio

    enum: "warning", "paused", "frozen"

  • reasonstringobligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

  • started_atstringobligatorio

    format: "date-time"

  • review_requiredbooleanobligatorio
  • evidenceobjectobligatorio
  • Propiedad adicionalCualquier valor
  • resumeobjectobligatorio
  • self_servebooleanobligatorio

    Se omiten niveles anidados adicionales

  • blocked_reasonstring | nullobligatorio

    Se omiten niveles anidados adicionales

  • resumable_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • top_sourcesarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • top_recipient_domainsarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • oneOf 2null
  • domainsarrayobligatorio
  • Cada elementoobject
  • domain_idstringobligatorio

    format: "uuid"

  • domainstringobligatorio
  • product_idstring | nullobligatorio

    format: "uuid"

  • statestringobligatorio

    enum: "active", "paused"

  • holdno especificadoobligatorio
  • oneOf 1object
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • scopestringobligatorio

    enum: "mailbox", "lane", "domain", "workspace"

    Se omiten niveles anidados adicionales

  • statestringobligatorio

    enum: "warning", "paused", "frozen"

    Se omiten niveles anidados adicionales

  • reasonstringobligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

    Se omiten niveles anidados adicionales

  • started_atstringobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • review_requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • evidenceobjectobligatorio

    Se omiten niveles anidados adicionales

  • resumeobjectobligatorio

    Se omiten niveles anidados adicionales

  • top_sourcesarray

    Se omiten niveles anidados adicionales

  • top_recipient_domainsarray

    Se omiten niveles anidados adicionales

  • oneOf 2null
  • lanesarrayobligatorio
  • Cada elementoobject
  • lane_kindstringobligatorio

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

    Se omiten niveles anidados adicionales

  • sending_stream_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • from_domainstringobligatorio

    Se omiten niveles anidados adicionales

  • statestringobligatorio

    enum: "active", "warning", "paused"

    Se omiten niveles anidados adicionales

  • probation_untilstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • ratesobjectobligatorio

    Se omiten niveles anidados adicionales

  • holdno especificadoobligatorio

    Se omiten niveles anidados adicionales

  • mailboxesarrayobligatorio
  • Cada elementoobject
  • mailbox_idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • product_idstring | nullobligatorio

    format: "uuid"

  • statestringobligatorio

    enum: "paused"

  • holdobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • scopestringobligatorio

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobligatorio

    enum: "warning", "paused", "frozen"

  • reasonstringobligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

  • started_atstringobligatorio

    format: "date-time"

  • review_requiredbooleanobligatorio
  • evidenceobjectobligatorio
  • Propiedad adicionalCualquier valor
  • resumeobjectobligatorio
  • self_servebooleanobligatorio

    Se omiten niveles anidados adicionales

  • blocked_reasonstring | nullobligatorio

    Se omiten niveles anidados adicionales

  • resumable_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • top_sourcesarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • top_recipient_domainsarray
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • thresholdsobjectobligatorio

    Los umbrales aplicados (src/sending/reputation-policy.ts).

  • Propiedad adicionalCualquier valor

Ejemplo de 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

Levanta una pausa de canal, dominio o buzón tras revisar sus tasas y fuentes.

Solo administrador del espacio de trabajo. Permitido 24 horas después de una pausa de canal o dominio y una vez cada 30 días por dominio. Una pausa repetida en 30 días o un espacio congelado requieren revisión de Banger y se rechazan con 423. Tras reanudar, el canal envía en lotes menores durante 24 horas; las Campañas y Jornadas retenidas continúan automáticamente.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • hold_idstringobligatorio

    La pausa (hold.id) de getSendingHealth.

    format: "uuid"

  • acknowledge_reputation_riskbooleanobligatorio

    const: true

  • reasonstring

    Qué se corrigió; se registra en el registro de auditoría.

    maxLength: 500

Respuesta correcta 200

La pausa se levantó.

application/json

  • valueobject
  • dataobjectobligatorio
  • resumedobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • scopestringobligatorio

    enum: "mailbox", "lane", "domain", "workspace"

  • statestringobligatorio

    enum: "warning", "paused", "frozen"

  • reasonstringobligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

  • started_atstringobligatorio

    format: "date-time"

  • review_requiredbooleanobligatorio
  • evidenceobjectobligatorio
  • Propiedad adicionalCualquier valor
  • resumeobjectobligatorio
  • self_servebooleanobligatorio
  • blocked_reasonstring | nullobligatorio
  • resumable_atstring | nullobligatorio

    format: "date-time"

  • top_sourcesarray
  • Cada elementoobject
  • signalstringobligatorio

    enum: "hard_bounce", "complaint"

  • sourcestringobligatorio
  • source_idstring | nullobligatorio
  • countintegerobligatorio
  • top_recipient_domainsarray
  • Cada elementoobject
  • signalstringobligatorio

    enum: "hard_bounce", "complaint"

  • recipient_domainstringobligatorio
  • countintegerobligatorio
  • probation_untilstring | nullobligatorio

    format: "date-time"

  • healthobjectobligatorio
  • workspaceobjectobligatorio
  • statestringobligatorio

    enum: "active", "frozen"

  • holdno especificadoobligatorio
  • oneOf 1object
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • scopestringobligatorio

    enum: "mailbox", "lane", "domain", "workspace"

    Se omiten niveles anidados adicionales

  • statestringobligatorio

    enum: "warning", "paused", "frozen"

    Se omiten niveles anidados adicionales

  • reasonstringobligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

    Se omiten niveles anidados adicionales

  • started_atstringobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • review_requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • evidenceobjectobligatorio

    Se omiten niveles anidados adicionales

  • resumeobjectobligatorio

    Se omiten niveles anidados adicionales

  • top_sourcesarray

    Se omiten niveles anidados adicionales

  • top_recipient_domainsarray

    Se omiten niveles anidados adicionales

  • oneOf 2null
  • domainsarrayobligatorio
  • Cada elementoobject
  • domain_idstringobligatorio

    format: "uuid"

  • domainstringobligatorio
  • product_idstring | nullobligatorio

    format: "uuid"

  • statestringobligatorio

    enum: "active", "paused"

  • holdno especificadoobligatorio
  • oneOf 1object

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • lanesarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • mailboxesarrayobligatorio
  • Cada elementoobject
  • mailbox_idstringobligatorio

    format: "uuid"

  • addressstringobligatorio
  • product_idstring | nullobligatorio

    format: "uuid"

  • statestringobligatorio

    enum: "paused"

  • holdobjectobligatorio
  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • scopestringobligatorio

    enum: "mailbox", "lane", "domain", "workspace"

    Se omiten niveles anidados adicionales

  • statestringobligatorio

    enum: "warning", "paused", "frozen"

    Se omiten niveles anidados adicionales

  • reasonstringobligatorio

    bounce_rate, complaint_rate, core_lane_paused, multiple_lanes_paused, repeat_lane_pause, multiple_domains_paused, shared_organizational_root o complaint_burst.

    Se omiten niveles anidados adicionales

  • started_atstringobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • review_requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • evidenceobjectobligatorio

    Se omiten niveles anidados adicionales

  • resumeobjectobligatorio

    Se omiten niveles anidados adicionales

  • top_sourcesarray

    Se omiten niveles anidados adicionales

  • top_recipient_domainsarray

    Se omiten niveles anidados adicionales

  • thresholdsobjectobligatorio

    Los umbrales aplicados (src/sending/reputation-policy.ts).

  • Propiedad adicionalCualquier valor

Ejemplo de 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"
}'

Canales de envío

GET/v1/workspaces/{workspaceId}/sending-lanes

listEmailLanes

Canales configurados y enrutamiento efectivo del remitente predeterminado. Producto y Campaña heredan la conexión de Correo predeterminada hasta que haya un canal dedicado activo. Los canales pendientes no sustituyen la ruta operativa.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Canales canónicos, rutas heredadas y remitente predeterminado existente.

application/json

  • valueobject
  • dataobjectobligatorio
  • domainsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • created_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • kindstringobligatorio

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

    Se omiten niveles anidados adicionales

  • display_namestringobligatorio

    Se omiten niveles anidados adicionales

  • from_domainstringobligatorio

    Se omiten niveles anidados adicionales

  • mail_from_domainstring | nullobligatorio

    Se omiten niveles anidados adicionales

  • inbound_domainstring | nullobligatorio

    Se omiten niveles anidados adicionales

  • route_providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

    Se omiten niveles anidados adicionales

  • status_reasonstring | nullobligatorio

    Se omiten niveles anidados adicionales

  • desired_revisionintegerobligatorio

    minimum: 1

    Se omiten niveles anidados adicionales

  • observed_revisionintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • dns_readybooleanobligatorio

    Se omiten niveles anidados adicionales

  • provider_readybooleanobligatorio

    Se omiten niveles anidados adicionales

  • inbound_readybooleanobligatorio

    Se omiten niveles anidados adicionales

  • outbound_readybooleanobligatorio

    Se omiten niveles anidados adicionales

  • banger_transport_readybooleanobligatorio

    Se omiten niveles anidados adicionales

  • banger_mail_from_domainstring | nullobligatorio

    Se omiten niveles anidados adicionales

  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • provisioning_statusstringobligatorio

    enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"

    Se omiten niveles anidados adicionales

  • provisioning_error_codestring | null

    Se omiten niveles anidados adicionales

  • provisioning_next_attempt_atstring | null

    Se omiten niveles anidados adicionales

  • provisioning_last_checked_atstring | null

    Se omiten niveles anidados adicionales

  • provider_identity_statusstring | null

    Se omiten niveles anidados adicionales

  • provider_dkim_statusstring | null

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • routingobjectobligatorio
  • mailboxobjectobligatorio
  • kindstringobligatorio

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

  • lane_idstring | nullobligatorio
  • domain_idstring | nullobligatorio
  • from_domainstring | nullobligatorio
  • sourcestringobligatorio

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobligatorio
  • pending_lanesarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    Se omiten niveles anidados adicionales

  • from_domainstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    Se omiten niveles anidados adicionales

  • productobjectobligatorio
  • kindstringobligatorio

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

  • lane_idstring | nullobligatorio
  • domain_idstring | nullobligatorio
  • from_domainstring | nullobligatorio
  • sourcestringobligatorio

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobligatorio
  • pending_lanesarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    Se omiten niveles anidados adicionales

  • from_domainstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    Se omiten niveles anidados adicionales

  • broadcastobjectobligatorio
  • kindstringobligatorio

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

  • lane_idstring | nullobligatorio
  • domain_idstring | nullobligatorio
  • from_domainstring | nullobligatorio
  • sourcestringobligatorio

    enum: "dedicated", "default_mail", "unavailable"

  • readybooleanobligatorio
  • pending_lanesarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    Se omiten niveles anidados adicionales

  • from_domainstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    Se omiten niveles anidados adicionales

  • default_senderno especificadoobligatorio
  • oneOf 1object
  • idstringobligatorio

    format: "uuid"

  • workspace_idstringobligatorio

    format: "uuid"

  • product_idstring | null

    El producto (proyecto) al que pertenece el buzón. Los clientes lo usan para agrupar buzones y crear enlaces a la aplicación web.

    format: "uuid"

  • domain_idstring | null

    format: "uuid"

  • addressstringobligatorio

    format: "email"

  • display_namestringobligatorio
  • providerstringobligatorio

    enum: "gmail", "smtp"

  • statusstringobligatorio

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

  • status_reasonstring | null
  • suspended_atstring | null
  • mailbox_kindstringobligatorio

    enum: "domain", "starter"

  • oneOf 2null

Ejemplo de 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 el canal solicitado en su nombre de host exacto. Vuelve a comprobar conflictos DNS bajo el bloqueo de infraestructura. Reutiliza canales idénticos existentes; nunca sobrescribe nombres de host ocupados. No crea cambios DNS ni canales adicionales.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • domainstringobligatorio

    Dominio principal de empresa, como example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobligatorio

    Dominio raíz o subdominio exacto que configurar, como example.com o news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobligatorio

    Correo es buzón. Envía y recibe; Producto y Campaña son canales dedicados de envío opcionales.

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

  • root_dmarc_confirmedboolean

    Campo de compatibilidad heredada; la configuración conserva las políticas de correo existentes y no requiere confirmación.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Respuesta correcta 200

El mismo canal configurado devuelto de forma idempotente.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio

Ejemplo de 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

Comprobación previa de disponibilidad y DNS de solo lectura. No crea recursos. Los registros de sitio web por sí solos no ocupan un nombre de host de correo. Devuelve la configuración existente y conflictos en nombres que Banger debe cambiar. Conserva la autenticación de envío y las políticas DMARC existentes.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • domainstringobligatorio

    Dominio principal de empresa, como example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobligatorio

    Dominio raíz o subdominio exacto que configurar, como example.com o news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobligatorio

    Correo es buzón. Envía y recibe; Producto y Campaña son canales dedicados de envío opcionales.

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

  • root_dmarc_confirmedboolean

    Campo de compatibilidad heredada; la configuración conserva las políticas de correo existentes y no requiere confirmación.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Respuesta correcta 200

Plan de configuración del canal.

application/json

  • valueobject
  • dataobjectobligatorio
  • statusstringobligatorio

    enum: "available", "existing", "occupied", "migration_required"

  • from_domainstringobligatorio
  • lanestringobligatorio

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

  • domain_idstring | nullobligatorio
  • lane_idstring | nullobligatorio
  • messagestringobligatorio
  • requires_root_confirmationbooleanobligatorio

    Siempre false; se conservan las políticas de correo existentes.

  • existing_dnsarrayobligatorio
  • Cada elementoobject
  • namestringobligatorio
  • typestringobligatorio
  • valuestringobligatorio

Ejemplo de 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

Solicita la revisión humana de migración existente solo para este canal. Solo un administrador conectado puede autorizarla en Aprobaciones.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

X-Banger-Product-Id
header · obligatorio

Producto operativo explícito; debe coincidir con las credenciales OAuth limitadas al producto.

  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • domainstringobligatorio

    Dominio principal de empresa, como example.com.

    minLength: 3 · maxLength: 253

  • from_domainstringobligatorio

    Dominio raíz o subdominio exacto que configurar, como example.com o news.example.com.

    minLength: 3 · maxLength: 253

  • lanestringobligatorio

    Correo es buzón. Envía y recibe; Producto y Campaña son canales dedicados de envío opcionales.

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

  • root_dmarc_confirmedboolean

    Campo de compatibilidad heredada; la configuración conserva las políticas de correo existentes y no requiere confirmación.

  • route_providersobject
  • productstring

    enum: "banger", "resend"

  • broadcaststring

    enum: "banger", "resend"

  • route_domainsobject
  • productstring
  • broadcaststring

Respuesta correcta 200

Revisión de migración existente devuelta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de 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"
  }
}'

Puntos de partida

GET/v1/workspaces/{workspaceId}/starters

listStarters

Estructuras iniciales renderizadas con la marca del producto, cada una con un brief (tarea, cuándo enviar, métrica, mecanismo, asuntos que probar), slots y contenido predeterminado. Los listados son compactos y usan por defecto el tipo de negocio del producto; solicita una por id para obtener su body_html.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

id
query

Un punto de partida; incluye 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

Estilo visual; por defecto, email_style de la marca.

  • valuestring

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

locale
query

Idioma para texto integrado y etiquetas de galería; en-US por defecto.

  • valuestring

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • versionintegerobligatorio
  • categorystringobligatorio
  • message_kindstringobligatorio
  • familystringobligatorio
  • stagestringobligatorio
  • businessesarrayobligatorio
  • Cada elementostring
  • namestringobligatorio
  • descriptionstringobligatorio
  • subjectstringobligatorio
  • body_textstringobligatorio
  • briefobjectobligatorio
  • jobstringobligatorio
  • send_whenstringobligatorio
  • metricstringobligatorio
  • mechanicstringobligatorio
  • subject_variantsarrayobligatorio
  • Cada elementostring
  • keeparray
  • Cada elementostring
  • avoidarray
  • Cada elementostring
  • imageryobject
  • defaultstringobligatorio
  • slotstring
  • photo_ideastring
  • slotsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

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

  • labelstring

    maxLength: 120

  • typestring

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

  • helpstring

    maxLength: 300

  • contentobjectobligatorio
  • Propiedad adicionalstring
  • body_htmlstring
  • businessstringobligatorio
  • stylestringobligatorio
  • businessesarrayobligatorio
  • Cada elementoobject
  • keystring
  • labelstring
  • hintstring
  • stagesarrayobligatorio
  • Cada elementoobject
  • keystring
  • labelstring
  • stylesarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio
  • labelstringobligatorio
  • descriptionstringobligatorio

Ejemplo de 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"

Soporte

POST/v1/workspaces/{workspaceId}/support/messages

Enviar un mensaje al soporte de Banger

Envía el mensaje a support@team.bangermail.com con Reply-To en la dirección verificada de la persona conectada (la persona de una autorización OAuth o el propietario del espacio para una clave de API estática). Adjunta el espacio de trabajo, rol y plan. Diez mensajes al día por persona.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • messagestringobligatorio

    minLength: 1 · maxLength: 5000

  • contextobject

    Lo que el cliente sabe de dónde estaba la persona. Todos los campos son opcionales y se recortan.

  • surfacestring

    maxLength: 120

  • app_releasestring

    maxLength: 64

  • browserstring

    maxLength: 300

  • localestring

    maxLength: 35

  • recent_errorsarray

    maxItems: 5

  • Cada elementostring

    maxLength: 300

Respuesta correcta 201

Mensaje enviado a soporte.

application/json

  • valueobject
  • dataobject
  • statusstringobligatorio

    enum: "sent"

  • reply_tostringobligatorio

    format: "email"

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

Supresiones

GET/v1/workspaces/{workspaceId}/suppressions

listSuppressions

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • email_hashstringobligatorio
  • reasonstringobligatorio

    enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring | nullobligatorio
  • created_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • emailstringobligatorio

    minLength: 3 · maxLength: 320

  • reasonstring

    default: "manual" · enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring

    maxLength: 500

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • email_hashstringobligatorio
  • reasonstringobligatorio

    enum: "unsubscribe", "hard_bounce", "complaint", "manual"

  • source_idstring | nullobligatorio
  • created_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

emailHash
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Supresión eliminada.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Datos de pantalla

GET/v1/workspaces/{workspaceId}/surface-data/{surface}

Carga una pantalla de producto mediante una transacción autorizada de base de datos.

Devuelve datos acotados de primera visualización de una pantalla del producto. La solicitud valida pertenencia al espacio y producto seleccionado en la misma transacción aislada por inquilino que las consultas del endpoint. La pantalla de webhooks incluye event_definitions (nombres de activadores y objetivos de Jornada, incluidos borradores), event_stats (recuentos de recibos entrantes guardados) y receipts (más recientes primero, hasta 51 filas). Los clientes muestran 50 recibos y usan la fila extra para detectar otra página. Los webhooks entrantes incluyen public_url; las credenciales se obtienen aparte. Los metadatos de recibos no contienen payloads sin procesar ni una etiqueta histórica de prueba/producción. outgoing_event_types contiene el catálogo fijo de eventos automáticos de Banger y el evento manual webhook.test, independiente de los endpoints configurados.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

surface
path · obligatorio
  • 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

En la pantalla de webhooks, limita el historial de recibos y las entregas salientes a este endpoint.

  • valuestring

    format: "uuid"

event_type
query

En la pantalla de webhooks, filtra recibos entrantes por nombre exacto de evento. Las definiciones del catálogo y los totales siguen abarcando todo el producto.

  • valuestring

    maxLength: 120

receipt_before
query

Cursor de recibos entrantes, un objeto JSON con receivedAt, endpointId y eventId de la última fila mostrada. Conserva receivedAt literalmente para mantener precisión inferior al milisegundo. Codifica el valor JSON para 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"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Datos de pantalla de primera visualización del producto.

application/json

  • valueobject
  • dataobjectobligatorio

    Agregado específico de pantalla seleccionado por surface y parámetros de consulta. Las claves y proyecciones de recursos anidados varían por pantalla (home, product, broadcasts, audience, domains, mailboxes, journeys, deliverability, api_keys, webhooks, approvals, connections, logs).

  • Propiedad adicionalCualquier valor

Ejemplo de 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"

Acciones de Triage

GET/v1/workspaces/{workspaceId}/triage-actions

listTriageActions

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • 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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • thread_idstringobligatorio

    format: "uuid"

  • rule_idstringobligatorio

    format: "uuid"

  • rule_namestringobligatorio
  • auto_set_for_label_idstring | nullobligatorio

    format: "uuid"

  • actionstringobligatorio
  • label_idstring | nullobligatorio

    format: "uuid"

  • label_namestring | nullobligatorio
  • label_emojistring | nullobligatorio
  • thread_subjectstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • undone_atstring | nullobligatorio

    format: "date-time"

Ejemplo de 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

Deshaz una acción de Triage. Por defecto también enseña a su regla que el correo no coincide; define teach_rule como false para deshacer normalmente.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

actionId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • teach_ruleboolean

    También enseña a la regla que este correo no coincide. False deshace la acción sin comentarios.

    default: true

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • undonebooleanobligatorio

    const: true

  • command_idstring | nullobligatorio

    format: "uuid"

Ejemplo de 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
}'

Reglas de Triage

GET/v1/workspaces/{workspaceId}/triage-rules

listTriageRules

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailbox_id
query
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • auto_set_for_label_idstring | nullobligatorio

    format: "uuid"

  • descriptionstring | nullobligatorio
  • exact_conditionsobjectobligatorio

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • actionsarrayobligatorio
  • Cada elementoobject
  • typestringobligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobligatorio
  • versionintegerobligatorio
  • error_codestring | nullobligatorio
  • example_countintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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 regla de Triage para correo entrante (todos los planes; las reglas activas cuentan para el límite del plan). When = description (evaluada por Jev) y/o exact_conditions y/o has_label_ids; Then = actions.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Clave opcional de reintento, aplicada cuando hay un producto seleccionado.

  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueno especificado
  • allOf 1object
  • namestring

    maxLength: 120

  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Cada elementostring

    format: "uuid"

  • actionsarray

    minItems: 1 · maxItems: 8

  • Cada elementoobject
  • typestringobligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledboolean
  • allOf 2object
  • mailbox_idstringobligatorio

    format: "uuid"

Respuesta correcta 201

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • auto_set_for_label_idstring | nullobligatorio

    format: "uuid"

  • descriptionstring | nullobligatorio
  • exact_conditionsobjectobligatorio

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • actionsarrayobligatorio
  • Cada elementoobject
  • typestringobligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobligatorio
  • versionintegerobligatorio
  • error_codestring | nullobligatorio
  • example_countintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Qué conversaciones recientes coincidirían con un When. Solo lectura; no devuelve puntuaciones.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • mailbox_idstringobligatorio

    format: "uuid"

  • rule_idstring

    format: "uuid"

  • descriptionstring

    maxLength: 2000

  • exact_conditionsobject

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Cada elementostring

    format: "uuid"

  • limitinteger

    minimum: 1 · maximum: 200

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • scannedintegerobligatorio
  • matchesarrayobligatorio
  • Cada elementoobject
  • thread_idstringobligatorio

    format: "uuid"

  • subjectstringobligatorio
  • fromstring
  • received_atstring

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • mailbox_idstringobligatorio

    format: "uuid"

  • rule_idsarray

    maxItems: 50

  • Cada elementostring

    format: "uuid"

  • daysinteger

    minimum: 1 · maximum: 90

  • include_other_actionsboolean

    Archivar también

Respuesta correcta 202

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • queued_threadsintegerobligatorio
  • daysintegerobligatorio
  • labels_onlybooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

ruleId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • auto_set_for_label_idstring | nullobligatorio

    format: "uuid"

  • descriptionstring | nullobligatorio
  • exact_conditionsobjectobligatorio

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • actionsarrayobligatorio
  • Cada elementoobject
  • typestringobligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobligatorio
  • versionintegerobligatorio
  • error_codestring | nullobligatorio
  • example_countintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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 regla automática de una etiqueta solo se puede editar mediante updateLabel.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

ruleId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header

Clave opcional de reintento, aplicada cuando hay un producto seleccionado.

  • valuestring

    minLength: 1 · maxLength: 256

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • namestring

    maxLength: 120

  • descriptionstring | null

    maxLength: 2000

  • exact_conditionsobject

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarray

    maxItems: 50

  • Cada elementostring

    format: "uuid"

  • actionsarray

    minItems: 1 · maxItems: 8

  • Cada elementoobject
  • typestringobligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledboolean

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • auto_set_for_label_idstring | nullobligatorio

    format: "uuid"

  • descriptionstring | nullobligatorio
  • exact_conditionsobjectobligatorio

    Sin propiedades adicionales

  • fromarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • toarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • subject_containsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • excludes_wordsarray

    maxItems: 50

  • Cada elementostring

    maxLength: 320

  • has_attachmentboolean
  • has_label_idsarrayobligatorio
  • Cada elementostring

    format: "uuid"

  • actionsarrayobligatorio
  • Cada elementoobject
  • typestringobligatorio

    enum: "apply_label", "archive", "mark_read", "star"

  • label_idstring

    format: "uuid"

  • enabledbooleanobligatorio
  • versionintegerobligatorio
  • error_codestring | nullobligatorio
  • example_countintegerobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

ruleId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Regla de Triage eliminada.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Uso de Triage

GET/v1/workspaces/{workspaceId}/triage-usage

getTriageUsage

Cuánto Triage ha usado el espacio de trabajo este mes natural UTC frente a los límites de su plan, cuándo se reinicia el recuento y el plan más barato que comprueba más correos. Superado el límite mensual, el correo nuevo sigue sin clasificar hasta el reinicio.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • unlimitedbooleanobligatorio

    Ambos límites están levantados para este espacio de trabajo.

  • rule_limitintegerobligatorio

    Reglas de Triage y automáticas activas permitidas simultáneamente.

  • rules_enabledintegerobligatorio
  • run_limitintegerobligatorio

    Correos que Triage comprueba por mes natural UTC.

  • runs_this_monthintegerobligatorio
  • resets_atstringobligatorio

    Primer instante del siguiente mes natural UTC.

    format: "date-time"

  • plan_keystringobligatorio

    Plan actual del espacio de trabajo; gratuito si no tiene ninguno.

  • next_planno especificadoobligatorio

    El plan más barato superior al actual que comprueba más correos al mes; null si no existe o es ilimitado.

  • oneOf 1null
  • oneOf 2object
  • plan_keystringobligatorio
  • labelstringobligatorio
  • monthly_price_usdnumberobligatorio

    Precio mensual anunciado (facturación anual / 12).

  • triage_run_limitintegerobligatorio

Ejemplo de curl

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

Trabajo

GET/v1/workspaces/{workspaceId}/work

listWork

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • 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"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Elementos de Trabajo de todo el espacio de trabajo.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • threadobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • subjectstringobligatorio
  • snippetstringobligatorio
  • last_message_atstringobligatorio

    format: "date-time"

  • message_countintegerobligatorio
  • unread_countintegerobligatorio
  • is_archivedbooleanobligatorio
  • is_trashbooleanobligatorio
  • is_spambooleanobligatorio
  • is_starredbooleanobligatorio
  • is_sentbooleanobligatorio
  • has_attachmentsbooleanobligatorio
  • labelsarrayobligatorio
  • Cada elementostring
  • participantsarray
  • Cada elementoobject
  • namestring

    Se omiten niveles anidados adicionales

  • emailstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "open", "waiting", "done"

  • priorityintegerobligatorio
  • assignee_identity_idstring
  • updated_atstringobligatorio

    format: "date-time"

  • pageobjectobligatorio
  • next_cursorstring
  • has_morebooleanobligatorio

Ejemplo de 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"

Conexiones

GET/v1/workspaces/{workspaceId}/connections

Lista las conexiones de datos de producto y negocio gestionadas por Banger.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Metadatos y funciones de conexión. Nunca se devuelven credenciales.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • adapter_keystringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobligatorio
  • statusstringobligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobligatorio

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobligatorio

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalCualquier valor
  • configobjectobligatorio

    Configuración no secreta del adaptador, como host en la nube e ID de proyecto.

  • Propiedad adicionalCualquier valor
  • 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_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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}

Valida y cifra una conexión fuente gestionada por Banger.

Conectar Mailchimp inicia inmediatamente la migración desde Mailchimp (como startMailchimpMigration), y la respuesta incluye su primer informe en `mailchimp_migration`. Sin display_name, una conexión de Mailchimp recibe el nombre de la cuenta, p. ej. "Mailchimp (Acme Inc)". Conectar una cuenta de Mailchimp ya conectada responde 409 `mailchimp_account_already_connected` con `error.details.connection_id`.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

adapterKey
path · obligatorio
  • valuestring

    enum: "anthropic", "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "openai", "slack", "snowflake", "zendesk"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • api_keystringobligatorio

    Clave de API o JSON de cuenta de servicio del proveedor.

    minLength: 12 · maxLength: 10000

  • display_namestring

    maxLength: 100

  • configobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Repetición idempotente de una solicitud de conexión existente.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • adapter_keystringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobligatorio
  • statusstringobligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobligatorio

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobligatorio

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalCualquier valor
  • configobjectobligatorio

    Configuración no secreta del adaptador, como host en la nube e ID de proyecto.

  • Propiedad adicionalCualquier valor
  • 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_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • mailchimp_migrationobject

    La migración de una conexión de Mailchimp a un producto. Consulta GET /mailchimp-migration periódicamente para ver el progreso en directo: `phase` indica dónde está; `counts`, `audiences`, `segments`, `templates` y `campaigns` crecen durante el proceso.

  • migration_idstringobligatorio

    format: "uuid"

  • connection_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "importing", "completed"

  • phasestringobligatorio

    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_atstringobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • connectionobjectobligatorio
  • display_namestringobligatorio
  • account_namestring | nullobligatorio
  • statusstringobligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • last_error_codestring | nullobligatorio
  • needs_new_keybooleanobligatorio
  • messagestring

    Present when needs_new_key or disconnected, ready to show.

  • progressobjectobligatorio
  • import_streamsintegerobligatorio
  • import_streams_doneintegerobligatorio
  • failing_streamsarrayobligatorio
  • Cada elementoobject
  • streamstringobligatorio
  • refstringobligatorio
  • error_codestring | nullobligatorio
  • designs_waitingintegerobligatorio
  • notestringobligatorio
  • countsobjectobligatorio
  • contactsintegerobligatorio
  • subscribedintegerobligatorio
  • unsubscribedintegerobligatorio
  • bouncedintegerobligatorio
  • contact_listsintegerobligatorio
  • contact_fieldsintegerobligatorio
  • segments_convertedintegerobligatorio
  • segments_kept_as_listsintegerobligatorio
  • templates_importedintegerobligatorio
  • templates_to_rebuildintegerobligatorio
  • campaigns_imported_as_designsintegerobligatorio
  • automations_importedintegerobligatorio
  • audiencesarrayobligatorio
  • Cada elementoobject
  • mailchimp_idstringobligatorio
  • namestringobligatorio
  • list_idstring | nullobligatorio

    format: "uuid"

  • list_namestring | nullobligatorio
  • members_in_bangerintegerobligatorio
  • subscribedintegerobligatorio
  • unsubscribedintegerobligatorio
  • bouncedintegerobligatorio
  • members_in_mailchimpintegerobligatorio
  • contact_fieldsarrayobligatorio
  • Cada elementoobject
  • mailchimp_tagstringobligatorio
  • namestringobligatorio
  • field_keystringobligatorio
  • typestringobligatorio

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

  • consentstringobligatorio
  • segmentsarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring
  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring
  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject
  • keystringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • templatesarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring
  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring
  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject
  • keystringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • campaignsarrayobligatorio
  • Cada elementoobject

    En qué se convirtió un segmento, plantilla o campaña de Mailchimp.

  • mailchimp_idstringobligatorio

    Segmentos: <audience id>:<segment id>. Plantillas y campañas: su ID de Mailchimp.

  • becamestringobligatorio

    enum: "segment", "contact_list", "template", "needs_rebuild"

  • idstring

    El segmento de Banger

    format: "uuid"

  • namestringobligatorio
  • reasonstring

    Por qué un segmento siguió siendo una lista estática

  • dropped_merge_tagsarray

    Etiquetas de combinación de Mailchimp sin equivalente en Banger, eliminadas del diseño (las condiciones de campos de combinación conservan su primera rama y se listan aquí).

  • Cada elementostring
  • replaced_footerboolean

    El pie de Mailchimp (ver en navegador, preferencias, dirección, insignia) se convirtió en el pie de marca del producto.

  • removed_linksarray

    Enlaces a páginas exclusivas de Mailchimp fuera del pie (como ver en navegador) eliminados, identificados por su texto.

  • Cada elementostring
  • links_to_fillarray

    Enlaces vacíos en Mailchimp; cada uno es ahora un slot URL del diseño que debe completarse antes de enviar.

  • Cada elementoobject
  • keystringobligatorio

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • kept_editsboolean

    Una nueva ejecución encontró el diseño editado en Banger y lo dejó como estaba.

  • automationsobjectobligatorio
  • importedbooleanobligatorio

    const: false

  • whystringobligatorio
  • next_stepsarrayobligatorio
  • Cada elementostring
  • help_call_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

connectionId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Conexión, credencial, estado de sincronización y autorizaciones revocados.

Sin cuerpo de respuesta.

Ejemplo de 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

Revalida la credencial activa y actualiza los metadatos de cuenta.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

connectionId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

La credencial de conexión es válida.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • adapter_keystringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobligatorio
  • statusstringobligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobligatorio

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobligatorio

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalCualquier valor
  • configobjectobligatorio

    Configuración no secreta del adaptador, como host en la nube e ID de proyecto.

  • Propiedad adicionalCualquier valor
  • 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_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Valida y rota atómicamente una credencial de conexión gestionada.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

connectionId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • api_keystringobligatorio

    Clave de API o JSON de cuenta de servicio del proveedor.

    minLength: 12 · maxLength: 10000

  • display_namestring

    maxLength: 100

  • configobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Repetición idempotente de una rotación anterior.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • adapter_keystringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • display_namestringobligatorio
  • statusstringobligatorio

    enum: "pending_validation", "active", "error", "disabled"

  • auth_kindstringobligatorio

    enum: "api_key", "oauth2", "service_account", "none"

  • freshness_modestringobligatorio

    enum: "webhook", "poll", "on_demand", "hybrid"

  • capabilitiesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalCualquier valor
  • configobjectobligatorio

    Configuración no secreta del adaptador, como host en la nube e ID de proyecto.

  • Propiedad adicionalCualquier valor
  • 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_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Ejecuta una lectura tipada y acotada en una conexión gestionada por Banger.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

connectionId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • adapter_keystringobligatorio

    enum: "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "slack", "snowflake", "zendesk"

  • operationstringobligatorio

    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
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Respuesta autenticada y tipada de la fuente conectada.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • adapter_keystringobligatorio

    enum: "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "slack", "snowflake", "zendesk"

  • operationstringobligatorio
  • capabilitystringobligatorio
  • sourceobjectobligatorio

    Sin propiedades adicionales

  • external_account_idstringobligatorio
  • external_account_namestringobligatorio
  • fetched_atstringobligatorio

    format: "date-time"

  • freshnessstringobligatorio

    const: "live"

  • dataobjectobligatorio
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

connectionId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Autorizaciones activas de la conexión.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • connection_idstringobligatorio

    format: "uuid"

  • principal_kindstringobligatorio

    enum: "agent", "automation", "api_key"

  • principal_idstringobligatorio
  • capabilitiesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalCualquier valor
  • created_by_actor_idstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • expires_atstring | null

    format: "date-time"

  • revoked_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

connectionId
path · obligatorio
  • valuestring

    format: "uuid"

principalKind
path · obligatorio
  • valuestring

    enum: "agent", "automation", "api_key"

principalId
path · obligatorio
  • valuestring

    minLength: 1 · maxLength: 200

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • capabilitiesarrayobligatorio

    minItems: 1 · uniqueItems: true

  • Cada elementostring
  • resource_scopeobject
  • Propiedad adicionalCualquier valor
  • expires_atstring

    format: "date-time"

Respuesta correcta 200

Acceso a conexión concedido o reemplazado.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • connection_idstringobligatorio

    format: "uuid"

  • principal_kindstringobligatorio

    enum: "agent", "automation", "api_key"

  • principal_idstringobligatorio
  • capabilitiesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalCualquier valor
  • created_by_actor_idstringobligatorio
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • expires_atstring | null

    format: "date-time"

  • revoked_atstring | null

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

connectionId
path · obligatorio
  • valuestring

    format: "uuid"

principalKind
path · obligatorio
  • valuestring

    enum: "agent", "automation", "api_key"

principalId
path · obligatorio
  • valuestring

    minLength: 1 · maxLength: 200

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Autorización de conexión revocada.

Sin cuerpo de respuesta.

Ejemplo de curl

curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Proveedores

POST/v1/workspaces/{workspaceId}/providers/google/oauth/session

Inicia una conexión de buzón Gmail protegida por PKCE para este espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

URL de autorización de Gmail y contrato de consulta periódica.

application/json

  • valueobject
  • sessionobjectobligatorio

    Sin propiedades adicionales

  • sessionIdstringobligatorio

    format: "uuid"

  • authUrlstringobligatorio

    format: "uri"

  • expiresAtintegerobligatorio

    format: "int64"

  • pollIntervalMsintegerobligatorio

    minimum: 250

Ejemplo de 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}

Consulta periódicamente una sesión de autorización Gmail dentro de su espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

sessionId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado actual de autorización Gmail.

application/json

  • valueobject
  • sessionobjectobligatorio

    Sin propiedades adicionales

  • statusstringobligatorio

    enum: "pending", "complete", "error", "expired"

  • mailboxIdstring | nullobligatorio

    format: "uuid"

  • emailstring | nullobligatorio

    format: "email"

  • errorstring | nullobligatorio
  • expiresAtintegerobligatorio

    format: "int64"

Ejemplo de curl

curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/providers/google/oauth/sessions/{sessionId}' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Conexiones con proveedores

GET/v1/workspaces/{workspaceId}/provider-connections

listProviderConnections

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Metadatos de conexión del proveedor. Nunca se devuelven credenciales.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • kindstringobligatorio
  • ownershipstringobligatorio

    enum: "customer", "banger"

  • statusstringobligatorio

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

  • display_namestringobligatorio
  • capabilitiesarrayobligatorio
  • Cada elementostring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobligatorio
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • verified_domainsarray
  • Cada elementostring

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • api_keystringobligatorio

    minLength: 16 · maxLength: 500

  • display_namestring

    maxLength: 100

Respuesta correcta 200

Repetición idempotente de la conexión Resend creada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • kindstringobligatorio
  • ownershipstringobligatorio

    enum: "customer", "banger"

  • statusstringobligatorio

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

  • display_namestringobligatorio
  • capabilitiesarrayobligatorio
  • Cada elementostring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobligatorio
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • verified_domainsarray
  • Cada elementostring

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

providerConnectionId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • api_keystringobligatorio

    minLength: 16 · maxLength: 500

  • display_namestring

    maxLength: 100

Respuesta correcta 200

Credencial de Resend rotada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • kindstringobligatorio
  • ownershipstringobligatorio

    enum: "customer", "banger"

  • statusstringobligatorio

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

  • display_namestringobligatorio
  • capabilitiesarrayobligatorio
  • Cada elementostring
  • active_credential_versioninteger | null
  • credential_rotation_requiredbooleanobligatorio
  • last_validated_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • disabled_atstring | null

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • verified_domainsarray
  • Cada elementostring

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

providerConnectionId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Conexión del proveedor y credencial activa revocadas.

Sin cuerpo de respuesta.

Ejemplo de 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'

Dominios de envío

GET/v1/workspaces/{workspaceId}/sending-domains

listNativeSendingDomains

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Dominios de envío nativos de Banger del espacio de trabajo.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • domainstringobligatorio

    Dominio o subdominio exacto del producto. Por defecto Banger deriva tres subdominios de canal separados.

    minLength: 3 · maxLength: 253

  • setup_modestring

    Simple configura un transporte de buzón para recibir y enviar desde direcciones de buzón seleccionadas, incluidas Campañas y Jornadas. Advanced configura canales de envío separados.

    default: "advanced" · enum: "simple", "advanced"

  • mailbox_modestring

    La configuración Simple usa la raíz por defecto si no se proporciona prefijo de buzón; advanced usa un subdominio. Subdomain conserva el correo existente del dominio. Migrate solicita Buzones en el dominio exacto. Un dominio exacto o canal ocupado requiere una solicitud mediante sending-domain-migrations y autorización en el panel Aprobaciones de Banger con sesión iniciada. Las credenciales de agente no pueden autorizar migraciones. No se importan mensajes antiguos y DNS nunca cambia automáticamente.

    enum: "subdomain", "migrate"

  • root_dmarc_confirmedboolean

    Campo de compatibilidad heredada; conserva las políticas existentes y la configuración no requiere confirmación.

  • lane_prefixesobject

    Sin propiedades adicionales

  • mailboxstring

    minLength: 1 · maxLength: 63 · default: "mail"

  • productstring

    minLength: 1 · maxLength: 63 · default: "tx"

  • broadcaststring

    minLength: 1 · maxLength: 63 · default: "broadcast"

  • route_providersobject

    Resend solo se acepta si Banger ya lo detectó en el DNS de este dominio y el producto seleccionado tiene una conexión activa. Los clientes nunca deben ofrecerlo de otro modo.

    Sin propiedades adicionales

  • productstring

    default: "banger" · enum: "banger", "resend"

  • broadcaststring

    default: "banger" · enum: "banger", "resend"

  • route_domainsobject

    Dominios verificados exactos sincronizados desde Resend. Obligatorio para cada canal que conserva Resend.

    Sin propiedades adicionales

  • productstring

    minLength: 3 · maxLength: 253

  • broadcaststring

    minLength: 3 · maxLength: 253

Respuesta correcta 200

Repetición idempotente de una solicitud de dominio de envío nativo de Banger.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado actual del dominio, flujo, aprovisionamiento y DNS requerido.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • confirm_domainstringobligatorio

    Debe coincidir exactamente con el dominio raíz que se elimina.

    minLength: 3 · maxLength: 253

Respuesta correcta 202

Se detienen envío y recepción y se pone en cola el desmontaje idempotente del proveedor. Se conservan el historial de correo y los registros de auditoría.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatorio
  • valuestring

    format: "uuid"

laneKind
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • confirm_domainstringobligatorio

    Subdominio exacto del canal seleccionado.

Respuesta correcta 202

Solo el canal seleccionado se detiene y pone en cola para eliminación. Conserva los demás canales y el historial de mensajes.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatorio
  • valuestring

    format: "uuid"

laneKind
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

El canal seleccionado se pausa sin cambiar su DNS ni otro canal.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatorio
  • valuestring

    format: "uuid"

laneKind
path · obligatorio
  • valuestring

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

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

El canal seleccionado se reanuda cuando su DNS guardado y estado del proveedor están listos.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

sendingDomainId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

La identidad de Banger y verificación DNS se comprobaron de nuevo de forma segura.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • domain_idstringobligatorio

    format: "uuid"

  • product_idstringobligatorio

    format: "uuid"

  • root_domainstringobligatorio
  • parent_domainstring

    Dominio de empresa conservado cuando un canal usa un subdominio.

  • setup_modestring

    enum: "simple", "advanced"

  • domain_statusstringobligatorio

    enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"

  • lanesarrayobligatorio

    minItems: 1 · maxItems: 3

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • created_atstring

    format: "date-time"

  • kindstringobligatorio

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

  • display_namestringobligatorio
  • from_domainstringobligatorio
  • mail_from_domainstring | nullobligatorio
  • inbound_domainstring | nullobligatorio
  • route_providerstringobligatorio

    enum: "banger", "resend"

  • selected_provider_connection_idstring | nullobligatorio

    format: "uuid"

  • inbound_providerstring | nullobligatorio

    enum: "banger", null

  • statusstringobligatorio

    enum: "pending", "active", "paused", "deleting", "deleted"

  • status_reasonstring | nullobligatorio
  • desired_revisionintegerobligatorio

    minimum: 1

  • observed_revisionintegerobligatorio

    minimum: 0

  • dns_readybooleanobligatorio
  • provider_readybooleanobligatorio
  • inbound_readybooleanobligatorio
  • outbound_readybooleanobligatorio
  • banger_transport_readybooleanobligatorio
  • banger_mail_from_domainstring | nullobligatorio
  • provisioning_job_idstring | nullobligatorio

    format: "uuid"

  • provisioning_statusstringobligatorio

    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_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio
  • deletionobject | nullobligatorio

    Sin propiedades adicionales

  • job_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "pending", "processing", "waiting_provider", "completed", "failed"

  • last_error_codestring | nullobligatorio
  • cleanup_recordsarrayobligatorio

    Registros DNS exactos que el usuario puede eliminar tras completar el desmontaje.

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • lane_idstringobligatorio

    format: "uuid"

  • providerstringobligatorio

    enum: "banger", "resend"

  • purposestringobligatorio
  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

  • namestringobligatorio
  • valuestringobligatorio
  • priorityinteger | nullobligatorio
  • requiredbooleanobligatorio
  • statusstringobligatorio

    enum: "pending", "verified", "error"

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

  • first_observed_atstring | nullobligatorio

    format: "date-time"

  • last_checked_atstring | nullobligatorio

    format: "date-time"

  • errorobjectobligatorio
  • Propiedad adicionalCualquier valor
  • provider_referencestring | nullobligatorio

Ejemplo de curl

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

Migraciones de dominios de envío

POST/v1/workspaces/{workspaceId}/sending-domain-migrations

requestNativeDomainMigration

Congela la configuración exacta y el DNS observado en una aprobación domain.migrate pendiente. No aprovisiona recursos. Solo un administrador conectado puede autorizarla en el panel Aprobaciones; se rechazan credenciales de agentes y revisión automática. La autorización vuelve a comprobar atómicamente la captura DNS y prepara el dominio aprobado.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • domainstringobligatorio

    Dominio o subdominio exacto del producto. Por defecto Banger deriva tres subdominios de canal separados.

    minLength: 3 · maxLength: 253

  • setup_modestring

    Simple configura un transporte de buzón para recibir y enviar desde direcciones de buzón seleccionadas, incluidas Campañas y Jornadas. Advanced configura canales de envío separados.

    default: "advanced" · enum: "simple", "advanced"

  • mailbox_modestring

    La configuración Simple usa la raíz por defecto si no se proporciona prefijo de buzón; advanced usa un subdominio. Subdomain conserva el correo existente del dominio. Migrate solicita Buzones en el dominio exacto. Un dominio exacto o canal ocupado requiere una solicitud mediante sending-domain-migrations y autorización en el panel Aprobaciones de Banger con sesión iniciada. Las credenciales de agente no pueden autorizar migraciones. No se importan mensajes antiguos y DNS nunca cambia automáticamente.

    enum: "subdomain", "migrate"

  • root_dmarc_confirmedboolean

    Campo de compatibilidad heredada; conserva las políticas existentes y la configuración no requiere confirmación.

  • lane_prefixesobject

    Sin propiedades adicionales

  • mailboxstring

    minLength: 1 · maxLength: 63 · default: "mail"

  • productstring

    minLength: 1 · maxLength: 63 · default: "tx"

  • broadcaststring

    minLength: 1 · maxLength: 63 · default: "broadcast"

  • route_providersobject

    Resend solo se acepta si Banger ya lo detectó en el DNS de este dominio y el producto seleccionado tiene una conexión activa. Los clientes nunca deben ofrecerlo de otro modo.

    Sin propiedades adicionales

  • productstring

    default: "banger" · enum: "banger", "resend"

  • broadcaststring

    default: "banger" · enum: "banger", "resend"

  • route_domainsobject

    Dominios verificados exactos sincronizados desde Resend. Obligatorio para cada canal que conserva Resend.

    Sin propiedades adicionales

  • productstring

    minLength: 3 · maxLength: 253

  • broadcaststring

    minLength: 3 · maxLength: 253

Respuesta correcta 200

Solicitud de migración existente devuelta de forma idempotente.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • requested_by_actor_idstringobligatorio
  • action_kindstringobligatorio
  • summarystringobligatorio
  • capability_scopesarrayobligatorio
  • Cada elementostring
  • resource_scopeobjectobligatorio
  • Propiedad adicionalarray
  • Cada elementostring
  • payloadobjectobligatorio
  • Propiedad adicionalCualquier valor
  • payload_sha256stringobligatorio

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

  • statusstringobligatorio

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

  • missedbooleanobligatorio
  • expires_atstringobligatorio

    format: "date-time"

  • decided_by_actor_idstring | null
  • decision_reasonstring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • decided_atstring | null

    format: "date-time"

  • execution_job_idstring

    format: "uuid"

  • reviewobject

    Sin propiedades adicionales

  • dispositionstringobligatorio

    enum: "automatic", "human_required"

  • recipient_countinteger | nullobligatorio

    minimum: 0

  • reasonsarrayobligatorio
  • Cada elementostring
  • checksarrayobligatorio
  • Cada elementostring

Ejemplo de curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domain-migrations' \
  --header "Authorization: Bearer $BANGER_API_KEY" \
  --header 'Idempotency-Key: examplexxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain": "example",
  "setup_mode": "advanced",
  "mailbox_mode": "subdomain",
  "root_dmarc_confirmed": true,
  "lane_prefixes": {
    "mailbox": "mail",
    "product": "tx",
    "broadcast": "broadcast"
  },
  "route_providers": {
    "product": "banger",
    "broadcast": "banger"
  },
  "route_domains": {
    "product": "example",
    "broadcast": "example"
  }
}'

Webhooks

GET/v1/workspaces/{workspaceId}/webhooks

Lista fuentes de eventos entrantes y destinos de eventos salientes.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Endpoints de webhook del espacio de trabajo.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • kindstringobligatorio

    enum: "outbound", "inbound"

  • source_keystringobligatorio

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

  • namestringobligatorio
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobligatorio

    enum: "active", "disabled", "error"

  • event_typesarrayobligatorio
  • Cada elementostring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobligatorio

    minimum: 0

  • failed_countintegerobligatorio

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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 un destino firmado con reintentos o una fuente idempotente de eventos entrantes.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • kindstringobligatorio

    enum: "outbound", "inbound"

  • namestringobligatorio

    minLength: 1 · maxLength: 120

  • source_keystring

    banger_api está reservado para el webhook creado por POST /events.

    pattern: "^[a-z0-9][a-z0-9_-]{0,62}$" · default: "custom"

  • source_configobject

    Evaluación determinista de eventos y mapeo de entrega específicos de la fuente. Compatible con Zendesk y Supabase Auth.

    Sin propiedades adicionales

  • vip_tagsarray

    minItems: 1 · maxItems: 20 · uniqueItems: true

  • Cada elementostring

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

  • sla_warning_minutesinteger

    minimum: 1 · maximum: 10080

  • project_urlstring

    URL del proyecto Supabase.

    format: "uri"

  • mailbox_idstring

    Dirección activa de envío de Banger usada para correo Supabase Auth.

    format: "uuid"

  • template_idsobject

    Plantilla de Banger seleccionada para cada acción de correo Supabase Auth.

    Sin propiedades adicionales

  • signupstringobligatorio

    format: "uuid"

  • invitestringobligatorio

    format: "uuid"

  • magiclinkstringobligatorio

    format: "uuid"

  • recoverystringobligatorio

    format: "uuid"

  • email_changestringobligatorio

    format: "uuid"

  • reauthenticationstringobligatorio

    format: "uuid"

  • password_changed_notificationstringobligatorio

    format: "uuid"

  • email_changed_notificationstringobligatorio

    format: "uuid"

  • phone_changed_notificationstringobligatorio

    format: "uuid"

  • identity_linked_notificationstringobligatorio

    format: "uuid"

  • identity_unlinked_notificationstringobligatorio

    format: "uuid"

  • mfa_factor_enrolled_notificationstringobligatorio

    format: "uuid"

  • mfa_factor_unenrolled_notificationstringobligatorio

    format: "uuid"

  • signing_secretstring

    Secreto de Supabase Send Email Hook. Solo se acepta para una fuente Supabase entrante y se cifra en reposo.

    minLength: 20 · maxLength: 500

  • endpoint_urlstring

    Obligatorio solo para destinos salientes.

    format: "uri"

  • event_typesarray

    Eventos que enviar. Si se omite, un endpoint saliente recibe los eventos de actividad predeterminados; los eventos específicos (mail.received, mail.sent, send.*, journey.*) solo se envían si se listan. * envía todo, incluido send.delivered de gran volumen.

    minItems: 1 · maxItems: 100 · uniqueItems: true

  • Cada 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"

Respuesta correcta 201

Webhook creado. Los secretos de firma saliente se muestran una vez; los llamadores autorizados pueden volver a abrir opciones de credenciales entrantes.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • kindstringobligatorio

    enum: "outbound", "inbound"

  • source_keystringobligatorio

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

  • namestringobligatorio
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobligatorio

    enum: "active", "disabled", "error"

  • event_typesarrayobligatorio
  • Cada elementostring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobligatorio

    minimum: 0

  • failed_countintegerobligatorio

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • signing_secretstring

    Secreto de firma de solicitudes salientes

  • source_urlstring

    URL del evento entrante que contiene su secreto imposible de adivinar.

    format: "uri"

  • webhook_urlstring

    URL pública entrante para usar con la cabecera Authorization.

    format: "uri"

  • bearer_tokenstring

    Token secreto del endpoint que enviar como Authorization Bearer.

Ejemplo de 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}

Desactiva un webhook o reactiva uno desactivado o con fallos, sin rotar su endpoint ni secreto.

Desactivar detiene entregas o eventos de automatización entrantes y conserva webhook, nombre e historial. Desactivar un webhook entrante también desactiva su conexión, así que las Jornadas que activa dejan de recibir eventos hasta reactivarlo. Para eliminar definitivamente un webhook, elimínalo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

endpointId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • statusstringobligatorio

    enum: "active", "disabled"

Respuesta correcta 200

Webhook reactivado o desactivado.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • kindstringobligatorio

    enum: "outbound", "inbound"

  • source_keystringobligatorio

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

  • namestringobligatorio
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobligatorio

    enum: "active", "disabled", "error"

  • event_typesarrayobligatorio
  • Cada elementostring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobligatorio

    minimum: 0

  • failed_countintegerobligatorio

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

Ejemplo de 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 permanentemente un webhook para poder reutilizar su nombre.

Un endpoint saliente se elimina con su historial de entrega. Un webhook entrante se elimina con su conexión y solo si ninguna Jornada, incluidas las archivadas, usa esa conexión como activador u objetivo. Para detener y conservar un webhook, aplica PATCH a su status con disabled.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

endpointId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Webhook eliminado.

Sin cuerpo de respuesta.

Ejemplo de 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

Vuelve a abrir las opciones existentes de credenciales de un webhook entrante activo.

Requiere automation:execute. Devuelve el mismo secreto sin crear ni rotar recursos. Nunca almacenes en caché ni registres esta respuesta.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

endpointId
path · obligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header

Obligatorio salvo que la clave de API autenticada ya esté vinculada al producto.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

URL privada de fuente, URL pública de webhook y token Bearer separado.

application/json

  • valueobject
  • datano especificado
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • kindstringobligatorio

    enum: "outbound", "inbound"

  • source_keystringobligatorio

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

  • namestringobligatorio
  • endpoint_urlstring | null

    format: "uri"

  • statusstringobligatorio

    enum: "active", "disabled", "error"

  • event_typesarrayobligatorio
  • Cada elementostring
  • connection_idstring | null

    format: "uuid"

  • delivered_countintegerobligatorio

    minimum: 0

  • failed_countintegerobligatorio

    minimum: 0

  • last_delivered_atstring | null

    format: "date-time"

  • last_received_atstring | null

    format: "date-time"

  • last_error_codestring | null
  • created_atstringobligatorio

    format: "date-time"

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • signing_secretstring

    Secreto de firma de solicitudes salientes

  • source_urlstring

    URL del evento entrante que contiene su secreto imposible de adivinar.

    format: "uri"

  • webhook_urlstring

    URL pública entrante para usar con la cabecera Authorization.

    format: "uri"

  • bearer_tokenstring

    Token secreto del endpoint que enviar como Authorization Bearer.

Ejemplo de 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

Lista los intentos de entrega recientes y resultados HTTP de un webhook saliente.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

endpointId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Intentos de entrega recientes.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • event_typestringobligatorio
  • statusstringobligatorio

    enum: "pending", "delivering", "delivered", "failed"

  • attempt_countintegerobligatorio

    minimum: 0

  • http_statusinteger | null

    minimum: 100 · maximum: 599

  • last_error_codestring | null
  • delivered_atstring | null

    format: "date-time"

  • created_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Pon en cola un evento sintético firmado por la ruta normal de entrega con reintentos.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

endpointId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 202

Evento de prueba firmado en cola.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

Ejemplo de curl

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

Configuración inicial

PUT/v1/workspaces/{workspaceId}/onboarding/path

selectOnboardingPath

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • pathstringobligatorio

    enum: "starter_identity", "company_domain", "resend_gateway", "banger_native_sending", "work_mailbox", "gmail", "native_mailbox", "existing_provider"

Respuesta correcta 200

Se seleccionó la ruta de configuración inicial determinada por el servidor.

application/json

  • valueobject
  • dataobjectobligatorio
  • pathstringobligatorio

    enum: "starter_identity", "company_domain", "resend_gateway", "banger_native_sending", "work_mailbox", "gmail", "native_mailbox", "existing_provider"

Ejemplo de 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

Lee la configuración canónica (conexión, marca, dominio) sin crear recursos ni enviar correos.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header

Producto seleccionado. Obligatorio si hay varios productos activos.

  • valuestring

    format: "uuid"

details
query

Incluye borradores editables, marca y registros DNS autoritativos.

  • valueinteger

    enum: 1

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Progreso persistido y funciones verificadas independientemente.

application/json

  • valueobject
  • dataobjectobligatorio
  • product_idstringobligatorio

    format: "uuid"

  • lessonobject
  • stepstringobligatorio
  • purposestringobligatorio
  • setupstringobligatorio
  • boundarystringobligatorio
  • example_requeststringobligatorio
  • resultstringobligatorio
  • choicestringobligatorio
  • skipstring | nullobligatorio
  • guidancestring
  • current_stepstringobligatorio

    enum: "connect", "business", "identity", "sending"

  • completed_countintegerobligatorio
  • total_stepsintegerobligatorio

    enum: 4

  • setupobject

    El control de configuración web y el aviso para terminar la configuración. Cada parte está completa, verificando (registros de dominio añadidos, DNS aún comprobándose), omitida o ausente.

  • connectstringobligatorio

    enum: "complete", "skipped", "missing"

  • brandstringobligatorio

    enum: "complete", "skipped", "missing"

  • domainstringobligatorio

    enum: "complete", "verifying", "skipped", "missing"

  • gate_openbooleanobligatorio

    True mientras marca o dominio no estén completados ni omitidos.

  • missingarrayobligatorio

    Partes omitidas o nunca completadas

  • Cada elementostring

    enum: "connect", "brand", "domain"

  • unlock_video_dueboolean

    True desde que se verifica un dominio hasta que el espacio de trabajo ve el vídeo "qué puedes hacer ahora".

  • agent_client_namestring | null

    La aplicación de IA conectada

  • completebooleanobligatorio
  • shared_education_completeboolean
  • outcomestringobligatorio

    enum: "in_progress", "production_deferred", "production_ready"

  • recommended_actionstringobligatorio
  • readinessobjectobligatorio
  • Propiedad adicionalboolean
  • progressobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • titlestringobligatorio
  • explanationstring
  • statusstringobligatorio

    enum: "not_started", "in_progress", "waiting", "needs_attention", "complete", "skipped"

  • blocking_dependencystring | null
  • recommended_actionstring
  • actionsarrayobligatorio
  • Cada elementostring
  • resource_idsarrayobligatorio
  • Cada elementostring
  • evidenceobjectobligatorio
  • Propiedad adicionalCualquier valor
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Ejecuta una acción explícita de configuración inicial segura ante reintentos para el producto seleccionado.

Los envíos solo se dirigen a la dirección verificada de registro del usuario que autoriza. Las Jornadas siguen inactivas y las Campañas sin enviar. Se aplican los límites existentes de aprobación de migración.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

x-banger-product-id
header

Producto seleccionado. Obligatorio si hay varios productos activos.

  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • actionstringobligatorio

    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

    Campos de negocio company_name, primary_goal, website_url y brand; campos de borrador name, subject, preview_text, body_text y edit; campos de identidad domain y local_part. Nunca se acepta entrada de destinatarios.

  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Estado canónico actualizado tras la operación solicitada.

application/json

  • valueobject
  • dataobjectobligatorio
  • product_idstringobligatorio

    format: "uuid"

  • lessonobject
  • stepstringobligatorio
  • purposestringobligatorio
  • setupstringobligatorio
  • boundarystringobligatorio
  • example_requeststringobligatorio
  • resultstringobligatorio
  • choicestringobligatorio
  • skipstring | nullobligatorio
  • guidancestring
  • current_stepstringobligatorio

    enum: "connect", "business", "identity", "sending"

  • completed_countintegerobligatorio
  • total_stepsintegerobligatorio

    enum: 4

  • setupobject

    El control de configuración web y el aviso para terminar la configuración. Cada parte está completa, verificando (registros de dominio añadidos, DNS aún comprobándose), omitida o ausente.

  • connectstringobligatorio

    enum: "complete", "skipped", "missing"

  • brandstringobligatorio

    enum: "complete", "skipped", "missing"

  • domainstringobligatorio

    enum: "complete", "verifying", "skipped", "missing"

  • gate_openbooleanobligatorio

    True mientras marca o dominio no estén completados ni omitidos.

  • missingarrayobligatorio

    Partes omitidas o nunca completadas

  • Cada elementostring

    enum: "connect", "brand", "domain"

  • unlock_video_dueboolean

    True desde que se verifica un dominio hasta que el espacio de trabajo ve el vídeo "qué puedes hacer ahora".

  • agent_client_namestring | null

    La aplicación de IA conectada

  • completebooleanobligatorio
  • shared_education_completeboolean
  • outcomestringobligatorio

    enum: "in_progress", "production_deferred", "production_ready"

  • recommended_actionstringobligatorio
  • readinessobjectobligatorio
  • Propiedad adicionalboolean
  • progressobjectobligatorio
  • Propiedad adicionalCualquier valor
  • stepsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio
  • titlestringobligatorio
  • explanationstring
  • statusstringobligatorio

    enum: "not_started", "in_progress", "waiting", "needs_attention", "complete", "skipped"

  • blocking_dependencystring | null
  • recommended_actionstring
  • actionsarrayobligatorio
  • Cada elementostring
  • resource_idsarrayobligatorio
  • Cada elementostring
  • evidenceobjectobligatorio
  • Propiedad adicionalCualquier valor
  • Propiedad adicionalCualquier valor

Ejemplo de 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

Reanuda la jornada de configuración inicial compartida entre navegador y MCP.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado actual de configuración inicial gestionado por el servidor.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Selecciona la pantalla de entrada guiada por agente o la alternativa en navegador.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • entry_surfacestringobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser"

  • client_namestring

    minLength: 1 · maxLength: 100

Respuesta correcta 200

Jornada iniciada o reanudada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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 de forma idempotente el buzón alojado permanente e inicia su recorrido real de ida y vuelta de mensaje de bienvenida.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Se reanudaron el buzón alojado y su prueba existente.

application/json

  • valueobject
  • dataobjectobligatorio
  • proof_idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • mailbox_addressstringobligatorio

    format: "email"

  • command_idstringobligatorio

    format: "uuid"

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobligatorio
  • receive_completebooleanobligatorio
  • round_trip_check_completebooleanobligatorio
  • agent_check_completebooleanobligatorio
  • completebooleanobligatorio
  • expected_subjectstringobligatorio
  • expected_body_textstringobligatorio
  • 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
  • replayedbooleanobligatorio

Ejemplo de 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

Envía la prueba de conexión de agente vinculada a OAuth al buzón alojado canónico.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

La misma autorización OAuth repitió o ya completó la prueba.

application/json

  • valueobject
  • dataobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "verified"

  • attempt_idstringobligatorio

    format: "uuid"

  • oauth_grant_idstringobligatorio
  • oauth_client_idstring | nullobligatorio
  • client_namestring | nullobligatorio
  • mailbox_idstringobligatorio

    format: "uuid"

  • mailbox_addressstringobligatorio

    format: "email"

  • expected_subjectstringobligatorio
  • initiated_atstringobligatorio

    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"

Ejemplo de 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 elección explícita de configuración inicial progresiva.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • decisionstringobligatorio

    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
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

La elección se guarda de forma persistente en la jornada canónica.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Guarda la decisión del usuario de configurar con dominio de empresa o sin dominio y ejecuta el descubrimiento canónico.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • choicestringobligatorio

    enum: "company_domain", "no_domain"

  • domainstring

    minLength: 3 · maxLength: 253

Respuesta correcta 200

Decisión de dominio guardada y jornada reanudada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Almacena contexto de negocio revisado proporcionado por el navegador o agente conectado.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • company_domainstring

    Puente de compatibilidad para conectores en caché anteriores a chooseAgentOnboardingDomain. El agente debe seguir preguntando primero al usuario.

    minLength: 3 · maxLength: 253

  • client_namestring

    minLength: 1 · maxLength: 100

Respuesta correcta 200

Contexto aceptado.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Guarda elecciones personalizadas de próximos pasos tras superar la activación real de correo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • opportunitiesarrayobligatorio

    minItems: 1 · maxItems: 100

  • Cada elementoobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Plan de oportunidades aceptado.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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 artefactos revisados preparados a partir del plan de oportunidades.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • summaryobjectobligatorio
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Resumen de implementación registrado.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Aprueba el mapa de oportunidades propuesto antes de que el agente prepare cambios sensibles.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Plan de oportunidades aprobado por el administrador autenticado del espacio de trabajo.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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 validación determinista de activación del estado de prueba gestionado por Banger.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • summaryobject
  • Propiedad adicionalCualquier valor

Respuesta correcta 200

Resultado de validación registrado.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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 configuración inicial tras superar la validación determinista.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Configuración inicial completada.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • workspace_idstringobligatorio

    format: "uuid"

  • statusstringobligatorio

    enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"

  • entry_surfacestring | nullobligatorio

    enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null

  • agent_statusstringobligatorio

    enum: "not_connected", "connecting", "connected", "browser_only"

  • agent_client_namestring | nullobligatorio
  • domain_choicestringobligatorio

    enum: "undecided", "company_domain", "no_domain"

  • company_domainstring | nullobligatorio
  • domain_chosen_atstring | nullobligatorio

    format: "date-time"

  • business_contextobjectobligatorio
  • Propiedad adicionalCualquier valor
  • opportunity_planarrayobligatorio
  • Cada elementoobject
  • Propiedad adicionalCualquier valor
  • implementation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • validation_summaryobjectobligatorio
  • Propiedad adicionalCualquier valor
  • journey_metadataobjectobligatorio
  • Propiedad adicionalCualquier valor
  • context_reviewed_atstring | nullobligatorio

    format: "date-time"

  • plan_proposed_atstring | nullobligatorio

    format: "date-time"

  • plan_approved_atstring | nullobligatorio

    format: "date-time"

  • completed_atstring | nullobligatorio

    format: "date-time"

  • versionintegerobligatorio

    format: "int64" · minimum: 1

  • updated_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • domain_discoveryno especificadoobligatorio
  • oneOf 1object
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio

    Se omiten niveles anidados adicionales

  • website_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

    Se omiten niveles anidados adicionales

  • company_namestringobligatorio

    Se omiten niveles anidados adicionales

  • summarystringobligatorio

    Se omiten niveles anidados adicionales

  • audiencestringobligatorio

    Se omiten niveles anidados adicionales

  • offeringsarrayobligatorio

    Se omiten niveles anidados adicionales

  • logo_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • favicon_urlstring | nullobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • visual_identityobjectobligatorio

    Se omiten niveles anidados adicionales

  • source_snapshotobjectobligatorio

    Se omiten niveles anidados adicionales

  • dns_signalsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • oneOf 2null

    Se omiten niveles anidados adicionales

  • provider_detectionsarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

    Se omiten niveles anidados adicionales

  • limitationsarrayobligatorio
  • Cada elementostring

    Se omiten niveles anidados adicionales

  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

  • oneOf 2null
  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • domain_bundleobject | nullobligatorio
  • Propiedad adicionalCualquier valor
  • growthobjectobligatorio
  • Propiedad adicionalCualquier valor
  • activationobjectobligatorio
  • modestringobligatorio

    enum: "hosted", "company_domain", "starter"

  • statusstringobligatorio

    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 | nullobligatorio
  • sending_domain_idstring | nullobligatorio

    format: "uuid"

  • mailbox_idstring | nullobligatorio

    format: "uuid"

  • mailbox_addressstring | nullobligatorio

    format: "email"

  • exact_dns_recordsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • lane_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • providerstringobligatorio

    enum: "banger", "resend"

    Se omiten niveles anidados adicionales

  • purposestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "TXT", "MX", "CNAME"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • priorityinteger | nullobligatorio

    Se omiten niveles anidados adicionales

  • requiredbooleanobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "verified", "error"

    Se omiten niveles anidados adicionales

  • provider_statusstringobligatorio

    enum: "pending", "verified", "error", "not_applicable"

    Se omiten niveles anidados adicionales

  • first_observed_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • last_checked_atstring | nullobligatorio

    format: "date-time"

    Se omiten niveles anidados adicionales

  • errorobjectobligatorio

    Se omiten niveles anidados adicionales

  • provider_referencestring | nullobligatorio

    Se omiten niveles anidados adicionales

  • checkpointsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio

    enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"

    Se omiten niveles anidados adicionales

  • labelstringobligatorio

    Se omiten niveles anidados adicionales

  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • lanesobjectobligatorio
  • mailboxobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • transactionalobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • marketingobjectobligatorio
  • statusstringobligatorio

    enum: "pending", "working", "action_required", "verified"

    Se omiten niveles anidados adicionales

  • detailstringobligatorio

    Se omiten niveles anidados adicionales

  • proofno especificadoobligatorio
  • oneOf 1object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • command_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • round_trip_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • expected_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • expected_body_textstringobligatorio

    Se omiten niveles anidados adicionales

  • received_message_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_thread_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • received_subjectstring

    Se omiten niveles anidados adicionales

  • received_body_textstring

    Se omiten niveles anidados adicionales

  • received_atstring

    format: "date-time"

    Se omiten niveles anidados adicionales

  • agent_labelstring

    Se omiten niveles anidados adicionales

  • agent_suggested_actionstring

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 2object
  • proof_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

    Se omiten niveles anidados adicionales

  • mailbox_addressstringobligatorio

    format: "email"

    Se omiten niveles anidados adicionales

  • transactional_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • marketing_send_intent_idstring

    format: "uuid"

    Se omiten niveles anidados adicionales

  • transactional_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • marketing_subjectstringobligatorio

    Se omiten niveles anidados adicionales

  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

    Se omiten niveles anidados adicionales

  • send_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • transactional_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • marketing_receivedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • receive_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • agent_check_completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • completebooleanobligatorio

    Se omiten niveles anidados adicionales

  • error_codestring

    Se omiten niveles anidados adicionales

  • replayedbooleanobligatorio

    Se omiten niveles anidados adicionales

  • oneOf 3null
  • overall_readybooleanobligatorio
  • production_readybooleanobligatorio
  • completedbooleanobligatorio
  • pendingbooleanobligatorio
  • next_actionstringobligatorio

    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_requiredobjectobligatorio
  • typestringobligatorio
  • requiredbooleanobligatorio
  • actionstringobligatorio

    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 | nullobligatorio

    format: "uri"

  • instructionsstring | nullobligatorio
  • secure_urlstring | nullobligatorio

    format: "uri"

  • mcp_urlstringobligatorio

    format: "uri"

  • dashboard_urlstringobligatorio

    format: "uri"

Ejemplo de 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

Lee el estado persistente de un recorrido de ida y vuelta de dirección inicial.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

mailbox_id
query · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado actual de la prueba.

application/json

  • valueobject
  • dataobjectobligatorio
  • proof_idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • mailbox_addressstringobligatorio

    format: "email"

  • command_idstringobligatorio

    format: "uuid"

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobligatorio
  • receive_completebooleanobligatorio
  • round_trip_check_completebooleanobligatorio
  • agent_check_completebooleanobligatorio
  • completebooleanobligatorio
  • expected_subjectstringobligatorio
  • expected_body_textstringobligatorio
  • 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
  • replayedbooleanobligatorio

Ejemplo de 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

Inicia o reanuda una prueba real de envío y recepción de una dirección inicial.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • mailbox_idstringobligatorio

    format: "uuid"

Respuesta correcta 200

Se reanudó la prueba existente.

application/json

  • valueobject
  • dataobjectobligatorio
  • proof_idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • mailbox_addressstringobligatorio

    format: "email"

  • command_idstringobligatorio

    format: "uuid"

  • phasestringobligatorio

    enum: "sending", "sent", "received", "checked", "failed"

  • send_completebooleanobligatorio
  • receive_completebooleanobligatorio
  • round_trip_check_completebooleanobligatorio
  • agent_check_completebooleanobligatorio
  • completebooleanobligatorio
  • expected_subjectstringobligatorio
  • expected_body_textstringobligatorio
  • 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
  • replayedbooleanobligatorio

Ejemplo de 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

Lee el estado persistente de las comprobaciones de infraestructura del dominio.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Estado actual de la prueba.

application/json

  • valueobject
  • dataobjectobligatorio
  • proof_idstringobligatorio

    format: "uuid"

  • domain_idstringobligatorio

    format: "uuid"

  • native_domain_idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • mailbox_addressstringobligatorio

    format: "email"

  • transactional_send_intent_idstring

    format: "uuid"

  • marketing_send_intent_idstring

    format: "uuid"

  • transactional_subjectstringobligatorio
  • marketing_subjectstringobligatorio
  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

  • send_completebooleanobligatorio
  • transactional_receivedbooleanobligatorio
  • marketing_receivedbooleanobligatorio
  • receive_completebooleanobligatorio
  • agent_check_completebooleanobligatorio
  • completebooleanobligatorio
  • error_codestring
  • replayedbooleanobligatorio

Ejemplo de 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

Inicia o reanuda dos comprobaciones reales de envío y recepción de infraestructura verificada de Banger.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • native_domain_idstringobligatorio

    format: "uuid"

Respuesta correcta 200

Se reanudó la prueba existente.

application/json

  • valueobject
  • dataobjectobligatorio
  • proof_idstringobligatorio

    format: "uuid"

  • domain_idstringobligatorio

    format: "uuid"

  • native_domain_idstringobligatorio

    format: "uuid"

  • mailbox_idstringobligatorio

    format: "uuid"

  • mailbox_addressstringobligatorio

    format: "email"

  • transactional_send_intent_idstring

    format: "uuid"

  • marketing_send_intent_idstring

    format: "uuid"

  • transactional_subjectstringobligatorio
  • marketing_subjectstringobligatorio
  • phasestringobligatorio

    enum: "sending", "receiving", "received", "checked", "failed"

  • send_completebooleanobligatorio
  • transactional_receivedbooleanobligatorio
  • marketing_receivedbooleanobligatorio
  • receive_completebooleanobligatorio
  • agent_check_completebooleanobligatorio
  • completebooleanobligatorio
  • error_codestring
  • replayedbooleanobligatorio

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • goalstringobligatorio

    enum: "work_inbox", "product_email", "campaign", "company_workflow"

Respuesta correcta 200

Se selecciona el primer resultado y la ejecución guiada puede abrirse en la interfaz del producto.

application/json

  • valueobject
  • dataobjectobligatorio
  • goalstringobligatorio

    enum: "work_inbox", "product_email", "campaign", "company_workflow"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Descubrimiento actual de empresa e infraestructura de correo.

application/json

  • valueobject
  • dataobjectobligatorio
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio
  • website_urlstring | nullobligatorio

    format: "uri"

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

  • company_namestringobligatorio
  • summarystringobligatorio
  • audiencestringobligatorio
  • offeringsarrayobligatorio
  • Cada elementostring
  • logo_urlstring | nullobligatorio

    format: "uri"

  • favicon_urlstring | nullobligatorio

    format: "uri"

  • visual_identityobjectobligatorio
  • colorsarrayobligatorio

    maxItems: 6

  • Cada elementostring
  • fontsarrayobligatorio

    maxItems: 6

  • Cada elementostring
  • tonearrayobligatorio

    maxItems: 6

  • Cada elementostring
  • source_confidencestringobligatorio

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobligatorio

    maxItems: 6

  • Cada elementoobject

    Sin propiedades adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • rolestringobligatorio

    enum: "primary", "accent", "background", "surface", "text", "other"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typographyarrayobligatorio

    maxItems: 6

  • Cada elementoobject

    Sin propiedades adicionales

  • familystringobligatorio

    Se omiten niveles anidados adicionales

  • rolestringobligatorio

    enum: "heading", "body", "mono", "other"

    Se omiten niveles anidados adicionales

  • weightsarrayobligatorio

    Se omiten niveles anidados adicionales

  • assetsarrayobligatorio

    maxItems: 8

  • Cada elementoobject

    Sin propiedades adicionales

  • urlstringobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • kindstringobligatorio

    enum: "logo", "wordmark", "favicon", "hero"

    Se omiten niveles anidados adicionales

  • sourcestringobligatorio

    Se omiten niveles anidados adicionales

  • brand_summarystringobligatorio
  • imagery_stylearrayobligatorio

    maxItems: 6

  • Cada elementostring
  • source_snapshotobjectobligatorio
  • Propiedad adicionalCualquier valor
  • dns_signalsarrayobligatorio
  • Cada elementoobject
  • namestringobligatorio
  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobligatorio
  • ttlintegerobligatorio

    minimum: 0

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • confidencestringobligatorio

    enum: "high", "medium", "low"

  • dashboard_urlstringobligatorio

    format: "uri"

  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • oneOf 2null
  • provider_detectionsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio
  • namestringobligatorio
  • categoriesarrayobligatorio
  • Cada elementostring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobligatorio

    enum: "high", "medium", "low"

  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject
  • kindstringobligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobligatorio
  • statusstringobligatorio

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobligatorio
  • Cada elementostring
  • recommendationstringobligatorio

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • capabilitystringobligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobligatorio

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobligatorio
  • Cada elementostring
  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • domainstringobligatorio

    minLength: 3 · maxLength: 253

  • stream_kindstring

    default: "default" · enum: "default", "transactional", "marketing"

Respuesta correcta 201

Descubrimiento de DNS público y sitio web completado y guardado.

application/json

  • valueobject
  • dataobjectobligatorio
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio
  • website_urlstring | nullobligatorio

    format: "uri"

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

  • company_namestringobligatorio
  • summarystringobligatorio
  • audiencestringobligatorio
  • offeringsarrayobligatorio
  • Cada elementostring
  • logo_urlstring | nullobligatorio

    format: "uri"

  • favicon_urlstring | nullobligatorio

    format: "uri"

  • visual_identityobjectobligatorio
  • colorsarrayobligatorio

    maxItems: 6

  • Cada elementostring
  • fontsarrayobligatorio

    maxItems: 6

  • Cada elementostring
  • tonearrayobligatorio

    maxItems: 6

  • Cada elementostring
  • source_confidencestringobligatorio

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobligatorio

    maxItems: 6

  • Cada elementoobject

    Sin propiedades adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • rolestringobligatorio

    enum: "primary", "accent", "background", "surface", "text", "other"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typographyarrayobligatorio

    maxItems: 6

  • Cada elementoobject

    Sin propiedades adicionales

  • familystringobligatorio

    Se omiten niveles anidados adicionales

  • rolestringobligatorio

    enum: "heading", "body", "mono", "other"

    Se omiten niveles anidados adicionales

  • weightsarrayobligatorio

    Se omiten niveles anidados adicionales

  • assetsarrayobligatorio

    maxItems: 8

  • Cada elementoobject

    Sin propiedades adicionales

  • urlstringobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • kindstringobligatorio

    enum: "logo", "wordmark", "favicon", "hero"

    Se omiten niveles anidados adicionales

  • sourcestringobligatorio

    Se omiten niveles anidados adicionales

  • brand_summarystringobligatorio
  • imagery_stylearrayobligatorio

    maxItems: 6

  • Cada elementostring
  • source_snapshotobjectobligatorio
  • Propiedad adicionalCualquier valor
  • dns_signalsarrayobligatorio
  • Cada elementoobject
  • namestringobligatorio
  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobligatorio
  • ttlintegerobligatorio

    minimum: 0

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • confidencestringobligatorio

    enum: "high", "medium", "low"

  • dashboard_urlstringobligatorio

    format: "uri"

  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • oneOf 2null
  • provider_detectionsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio
  • namestringobligatorio
  • categoriesarrayobligatorio
  • Cada elementostring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobligatorio

    enum: "high", "medium", "low"

  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject
  • kindstringobligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobligatorio
  • statusstringobligatorio

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobligatorio
  • Cada elementostring
  • recommendationstringobligatorio

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • capabilitystringobligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobligatorio

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobligatorio
  • Cada elementostring
  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • company_namestringobligatorio

    minLength: 1 · maxLength: 200

  • summarystringobligatorio

    minLength: 1 · maxLength: 4000

  • audiencestring

    maxLength: 2000

  • offeringsarray

    maxItems: 8

  • Cada elementostring

    maxLength: 120

  • website_urlstring | null

    format: "uri"

  • connection_planarrayobligatorio

    maxItems: 30

  • Cada elementoobject

    Sin propiedades adicionales

  • capabilitystringobligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobligatorio

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

Respuesta correcta 200

Se confirmaron el contexto de empresa y el plan sugerido de conexión.

application/json

  • valueobject
  • dataobjectobligatorio
  • domainstringobligatorio
  • scan_statusstringobligatorio

    enum: "complete", "partial", "failed"

  • companyobjectobligatorio
  • domainstringobligatorio
  • website_urlstring | nullobligatorio

    format: "uri"

  • website_statusstringobligatorio

    enum: "available", "missing", "blocked", "error"

  • company_namestringobligatorio
  • summarystringobligatorio
  • audiencestringobligatorio
  • offeringsarrayobligatorio
  • Cada elementostring
  • logo_urlstring | nullobligatorio

    format: "uri"

  • favicon_urlstring | nullobligatorio

    format: "uri"

  • visual_identityobjectobligatorio
  • colorsarrayobligatorio

    maxItems: 6

  • Cada elementostring
  • fontsarrayobligatorio

    maxItems: 6

  • Cada elementostring
  • tonearrayobligatorio

    maxItems: 6

  • Cada elementostring
  • source_confidencestringobligatorio

    enum: "high", "medium", "low"

  • hero_image_urlstring

    format: "uri"

  • palettearrayobligatorio

    maxItems: 6

  • Cada elementoobject

    Sin propiedades adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • rolestringobligatorio

    enum: "primary", "accent", "background", "surface", "text", "other"

    Se omiten niveles anidados adicionales

  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typographyarrayobligatorio

    maxItems: 6

  • Cada elementoobject

    Sin propiedades adicionales

  • familystringobligatorio

    Se omiten niveles anidados adicionales

  • rolestringobligatorio

    enum: "heading", "body", "mono", "other"

    Se omiten niveles anidados adicionales

  • weightsarrayobligatorio

    Se omiten niveles anidados adicionales

  • assetsarrayobligatorio

    maxItems: 8

  • Cada elementoobject

    Sin propiedades adicionales

  • urlstringobligatorio

    format: "uri"

    Se omiten niveles anidados adicionales

  • kindstringobligatorio

    enum: "logo", "wordmark", "favicon", "hero"

    Se omiten niveles anidados adicionales

  • sourcestringobligatorio

    Se omiten niveles anidados adicionales

  • brand_summarystringobligatorio
  • imagery_stylearrayobligatorio

    maxItems: 6

  • Cada elementostring
  • source_snapshotobjectobligatorio
  • Propiedad adicionalCualquier valor
  • dns_signalsarrayobligatorio
  • Cada elementoobject
  • namestringobligatorio
  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

  • valuestringobligatorio
  • ttlintegerobligatorio

    minimum: 0

  • dns_providerno especificadoobligatorio
  • oneOf 1object

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • confidencestringobligatorio

    enum: "high", "medium", "low"

  • dashboard_urlstringobligatorio

    format: "uri"

  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • oneOf 2null
  • provider_detectionsarrayobligatorio
  • Cada elementoobject
  • keystringobligatorio
  • namestringobligatorio
  • categoriesarrayobligatorio
  • Cada elementostring

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • confidencestringobligatorio

    enum: "high", "medium", "low"

  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • capability_summaryarrayobligatorio
  • Cada elementoobject
  • kindstringobligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • labelstringobligatorio
  • statusstringobligatorio

    enum: "detected", "missing", "needs_review"

  • provider_keysarrayobligatorio
  • Cada elementostring
  • recommendationstringobligatorio

    enum: "connect", "setup_banger", "review"

  • recommended_connectionsarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • keystringobligatorio
  • namestringobligatorio
  • categorystringobligatorio

    enum: "email", "customer", "product", "work", "data"

  • prioritystringobligatorio

    enum: "required", "recommended"

  • reasonstringobligatorio
  • sourcestringobligatorio

    enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"

  • setup_modestringobligatorio

    enum: "oauth", "secure_credentials"

  • availablebooleanobligatorio
  • provider_keystring
  • evidencearrayobligatorio
  • Cada elementoobject
  • namestringobligatorio

    Se omiten niveles anidados adicionales

  • typestringobligatorio

    enum: "MX", "TXT", "CNAME", "NS"

    Se omiten niveles anidados adicionales

  • valuestringobligatorio

    Se omiten niveles anidados adicionales

  • ttlintegerobligatorio

    minimum: 0

    Se omiten niveles anidados adicionales

  • connection_planarrayobligatorio
  • Cada elementoobject

    Sin propiedades adicionales

  • capabilitystringobligatorio

    enum: "work_mailbox", "transactional", "marketing", "deliverability"

  • provider_keystring
  • actionstringobligatorio

    enum: "connect", "setup_banger", "review"

  • domainstring

    minLength: 3 · maxLength: 253

  • limitationsarrayobligatorio
  • Cada elementostring
  • scanned_atstringobligatorio

    format: "date-time"

  • confirmed_atstring | nullobligatorio

    format: "date-time"

Ejemplo de 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

Confirmar la conexión OAuth actual del agente

Requiere la credencial OAuth instalada en el cliente actual del agente y el permiso automation:read.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • statusstringobligatorio

    enum: "connected"

  • messagestringobligatorio
  • workspace_idstringobligatorio

    format: "uuid"

  • client_namestringobligatorio
  • confirmed_atstringobligatorio

    format: "date-time"

Ejemplo de curl

curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/confirm-connection' \
  --header "Authorization: Bearer $BANGER_API_KEY"

Acceso

GET/v1/workspaces/{workspaceId}/access

Lista los miembros del espacio de trabajo y las invitaciones activas.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Directorio del espacio de trabajo.

application/json

  • valueobject
  • dataobjectobligatorio
  • actorIdstringobligatorio
  • identitiesarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • userIdstringobligatorio
  • emailstring

    format: "email"

  • displayNamestring
  • kindstringobligatorio

    const: "user"

  • rolestringobligatorio

    enum: "owner", "admin", "member", "viewer"

  • statusstringobligatorio

    enum: "active", "suspended"

  • pendingInvitationsarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • codestringobligatorio

    format: "uuid"

  • inviteCodestring

    format: "uuid"

  • invitedEmailstring

    format: "email"

  • workspaceIdstringobligatorio

    format: "uuid"

  • workspaceNamestringobligatorio
  • rolestringobligatorio

    enum: "admin", "member", "viewer"

  • accessScopestring

    const: "workspace"

  • statusstringobligatorio

    enum: "pending", "accepted"

  • expiresAtstringobligatorio

    format: "date-time"

  • notificationSentboolean

Ejemplo de curl

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

Invitaciones

POST/v1/workspaces/{workspaceId}/invitations

Invita a un actor humano al espacio de trabajo.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • emailstringobligatorio

    format: "email" · maxLength: 320

  • rolestring

    default: "member" · enum: "admin", "member", "viewer"

  • mailbox_idsarray

    maxItems: 250

  • Cada elementostring

    format: "uuid"

  • send_modestring

    default: "direct" · enum: "direct", "approval_required"

  • expires_in_hoursinteger

    minimum: 1 · maximum: 720 · default: 168

Respuesta correcta 201

Invitación creada.

application/json

  • valueobject
  • dataobjectobligatorio
  • idstringobligatorio

    format: "uuid"

  • codestringobligatorio

    format: "uuid"

  • inviteCodestring

    format: "uuid"

  • invitedEmailstring

    format: "email"

  • workspaceIdstringobligatorio

    format: "uuid"

  • workspaceNamestringobligatorio
  • rolestringobligatorio

    enum: "admin", "member", "viewer"

  • accessScopestring

    const: "workspace"

  • statusstringobligatorio

    enum: "pending", "accepted"

  • expiresAtstringobligatorio

    format: "date-time"

  • notificationSentboolean

Ejemplo de 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
}'

Claves de API

GET/v1/workspaces/{workspaceId}/api-keys

listWorkspaceApiKeys

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Claves de API activas con permisos definidos. Nunca se devuelven valores secretos.

application/json

  • valueobject
  • dataarrayobligatorio
  • Cada elementoobject
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • prefixstringobligatorio
  • scopesarrayobligatorio
  • Cada 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_atstringobligatorio

    format: "date-time"

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 100

  • scopesarrayobligatorio

    minItems: 1 · uniqueItems: true

  • Cada 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"

Respuesta correcta 201

Clave de API creada. El token solo se devuelve una vez.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • prefixstringobligatorio
  • scopesarrayobligatorio
  • Cada 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_atstringobligatorio

    format: "date-time"

  • allOf 2object
  • tokenstringobligatorio
  • smtpobject

    Cómo una aplicación que solo envía por SMTP (Supabase Auth, Auth0, WordPress, sistemas de correo de frameworks) envía mediante Banger. La contraseña es una clave de API con mail:send; Banger retransmite cada mensaje tal como está escrito y responde solo después de superar todas las comprobaciones. Solo presente para una clave que puede enviar correo, en un entorno cuyo host de envío responde.

  • hoststringobligatorio
  • portintegerobligatorio

    TLS implícito, recomendado.

  • starttls_portintegerobligatorio

    STARTTLS antes de AUTH.

  • alternate_portsobjectobligatorio

    Los mismos dos servicios de escucha, para redes que bloquean 465 y 587.

  • tlsintegerobligatorio
  • starttlsintegerobligatorio
  • usernamestringobligatorio

    Cualquier nombre de usuario funciona; solo la clave identifica el espacio de trabajo y el producto.

Ejemplo de 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

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

apiKeyId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 204

Clave de API revocada.

Sin cuerpo de respuesta.

Ejemplo de curl

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

Facturación

GET/v1/workspaces/{workspaceId}/billing

Leer facturación, uso y planes disponibles

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • billingobjectobligatorio
  • workspaceIdstringobligatorio

    format: "uuid"

  • tierstringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobligatorio
  • planIntervalstring | nullobligatorio

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobligatorio
  • stripeSubscriptionIdstring | nullobligatorio
  • currentPeriodEndinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • cancelAtPeriodEndbooleanobligatorio
  • prepaidPlanKeystring | nullobligatorio
  • prepaidUntilinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • usageobjectobligatorio
  • storageBytesnumberobligatorio
  • storageLimitBytesnumberobligatorio
  • sendsThisMonthnumberobligatorio
  • sendLimitnumberobligatorio
  • sendsTodaynumberobligatorio
  • dailySendLimitnumber | nullobligatorio
  • periodEndinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • catalogobjectobligatorio
  • plansarrayobligatorio
  • Cada elementoobject
  • planKeystringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobligatorio
  • sendLimitnumberobligatorio
  • storageGbnumberobligatorio
  • gmailImportLimitnumberobligatorio
  • triageRuleLimitnumberobligatorio
  • triageRunLimitnumberobligatorio
  • pricesarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • addonsarrayobligatorio

    maxItems: 0

  • Cada elementono especificado
  • agentPaymentno especificadoobligatorio
  • anyOf 1object
  • network_idstringobligatorio
  • currencystringobligatorio

    enum: "usd"

  • howstringobligatorio
  • optionsarrayobligatorio
  • Cada elementoobject
  • plan_keystringobligatorio

    enum: "starter", "pro"

    Se omiten niveles anidados adicionales

  • intervalstringobligatorio

    enum: "month", "year"

    Se omiten niveles anidados adicionales

  • monthsintegerobligatorio

    enum: 1, 12

    Se omiten niveles anidados adicionales

  • amount_centsintegerobligatorio

    What to mint the token for

    Se omiten niveles anidados adicionales

  • discountobject

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • switchOfferno especificado

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobligatorio

    enum: "year"

  • plansarrayobligatorio
  • Cada elementoobject
  • planKeystringobligatorio

    enum: "starter", "pro", "business", "scale"

    Se omiten niveles anidados adicionales

  • currencystringobligatorio

    Se omiten niveles anidados adicionales

  • yearlyPriceintegerobligatorio

    In the currency's smallest unit.

    Se omiten niveles anidados adicionales

  • firstYearPriceintegerobligatorio

    In the currency's smallest unit.

    Se omiten niveles anidados adicionales

  • messagestringobligatorio
  • anyOf 2null

Ejemplo de curl

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

Sincronizar facturación desde Stripe

Alias de POST /billing/sync. Requiere workspace:admin.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • billingobjectobligatorio
  • workspaceIdstringobligatorio

    format: "uuid"

  • tierstringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobligatorio
  • planIntervalstring | nullobligatorio

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobligatorio
  • stripeSubscriptionIdstring | nullobligatorio
  • currentPeriodEndinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • cancelAtPeriodEndbooleanobligatorio
  • prepaidPlanKeystring | nullobligatorio
  • prepaidUntilinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • usageobjectobligatorio
  • storageBytesnumberobligatorio
  • storageLimitBytesnumberobligatorio
  • sendsThisMonthnumberobligatorio
  • sendLimitnumberobligatorio
  • sendsTodaynumberobligatorio
  • dailySendLimitnumber | nullobligatorio
  • periodEndinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • catalogobjectobligatorio
  • plansarrayobligatorio
  • Cada elementoobject
  • planKeystringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobligatorio
  • sendLimitnumberobligatorio
  • storageGbnumberobligatorio
  • gmailImportLimitnumberobligatorio
  • triageRuleLimitnumberobligatorio
  • triageRunLimitnumberobligatorio
  • pricesarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • addonsarrayobligatorio

    maxItems: 0

  • Cada elementono especificado
  • agentPaymentno especificadoobligatorio
  • anyOf 1object
  • network_idstringobligatorio
  • currencystringobligatorio

    enum: "usd"

  • howstringobligatorio
  • optionsarrayobligatorio
  • Cada elementoobject
  • plan_keystringobligatorio

    enum: "starter", "pro"

    Se omiten niveles anidados adicionales

  • intervalstringobligatorio

    enum: "month", "year"

    Se omiten niveles anidados adicionales

  • monthsintegerobligatorio

    enum: 1, 12

    Se omiten niveles anidados adicionales

  • amount_centsintegerobligatorio

    What to mint the token for

    Se omiten niveles anidados adicionales

  • discountobject

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • switchOfferno especificado

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobligatorio

    enum: "year"

  • plansarrayobligatorio
  • Cada elementoobject
  • planKeystringobligatorio

    enum: "starter", "pro", "business", "scale"

    Se omiten niveles anidados adicionales

  • currencystringobligatorio

    Se omiten niveles anidados adicionales

  • yearlyPriceintegerobligatorio

    In the currency's smallest unit.

    Se omiten niveles anidados adicionales

  • firstYearPriceintegerobligatorio

    In the currency's smallest unit.

    Se omiten niveles anidados adicionales

  • messagestringobligatorio
  • anyOf 2null

Ejemplo de 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

Sincronizar la suscripción más reciente de Stripe

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • billingobjectobligatorio
  • workspaceIdstringobligatorio

    format: "uuid"

  • tierstringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • planKeystringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • statusstringobligatorio
  • planIntervalstring | nullobligatorio

    enum: "month", "year", null

  • stripeCustomerIdstring | nullobligatorio
  • stripeSubscriptionIdstring | nullobligatorio
  • currentPeriodEndinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • cancelAtPeriodEndbooleanobligatorio
  • prepaidPlanKeystring | nullobligatorio
  • prepaidUntilinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • usageobjectobligatorio
  • storageBytesnumberobligatorio
  • storageLimitBytesnumberobligatorio
  • sendsThisMonthnumberobligatorio
  • sendLimitnumberobligatorio
  • sendsTodaynumberobligatorio
  • dailySendLimitnumber | nullobligatorio
  • periodEndinteger | nullobligatorio

    Marca de tiempo Unix en milisegundos.

  • catalogobjectobligatorio
  • plansarrayobligatorio
  • Cada elementoobject
  • planKeystringobligatorio

    enum: "free", "starter", "pro", "business", "scale", "enterprise"

  • labelstringobligatorio
  • sendLimitnumberobligatorio
  • storageGbnumberobligatorio
  • gmailImportLimitnumberobligatorio
  • triageRuleLimitnumberobligatorio
  • triageRunLimitnumberobligatorio
  • pricesarrayobligatorio
  • Cada elementoobject

    Se omiten niveles anidados adicionales

  • addonsarrayobligatorio

    maxItems: 0

  • Cada elementono especificado
  • agentPaymentno especificadoobligatorio
  • anyOf 1object
  • network_idstringobligatorio
  • currencystringobligatorio

    enum: "usd"

  • howstringobligatorio
  • optionsarrayobligatorio
  • Cada elementoobject
  • plan_keystringobligatorio

    enum: "starter", "pro"

    Se omiten niveles anidados adicionales

  • intervalstringobligatorio

    enum: "month", "year"

    Se omiten niveles anidados adicionales

  • monthsintegerobligatorio

    enum: 1, 12

    Se omiten niveles anidados adicionales

  • amount_centsintegerobligatorio

    What to mint the token for

    Se omiten niveles anidados adicionales

  • discountobject

    Se omiten niveles anidados adicionales

  • anyOf 2null
  • switchOfferno especificado

    The month free on a yearly plan this workspace gets for switching from Mailchimp; null when it doesn't.

  • anyOf 1object
  • offerstringobligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • appliesTostringobligatorio

    enum: "year"

  • plansarrayobligatorio
  • Cada elementoobject
  • planKeystringobligatorio

    enum: "starter", "pro", "business", "scale"

    Se omiten niveles anidados adicionales

  • currencystringobligatorio

    Se omiten niveles anidados adicionales

  • yearlyPriceintegerobligatorio

    In the currency's smallest unit.

    Se omiten niveles anidados adicionales

  • firstYearPriceintegerobligatorio

    In the currency's smallest unit.

    Se omiten niveles anidados adicionales

  • messagestringobligatorio
  • anyOf 2null

Ejemplo de 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

Iniciar el pago o abrir el portal de facturación

Requiere workspace:admin. Solo se venden planes de pago autoservicio. Una suscripción activa abre el portal del cliente. Los campos snake_case tienen prioridad sobre alias camelCase.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

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

    Identificador opcional de reintento: 8–64 letras, dígitos o guiones. Los identificadores inválidos se ignoran.

  • billingAttemptIdstring
  • anyOf 1no especificado
  • anyOf 2no especificado

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • urlstringobligatorio

    format: "uri"

  • kindstringobligatorio

    enum: "checkout", "portal"

  • discountno especificado

    The switch-from-Mailchimp month applied to this yearly checkout.

  • allOf 1object

    Switch from Mailchimp: one month off the first yearly invoice.

  • offerstringobligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • planKeystringobligatorio

    enum: "starter", "pro", "business", "scale"

  • intervalstringobligatorio

    enum: "year"

  • currencystringobligatorio

    Lowercase ISO currency the amounts are in.

  • amountOffintegerobligatorio

    In the currency's smallest unit.

  • yearlyPriceintegerobligatorio

    In the currency's smallest unit.

  • firstYearPriceintegerobligatorio

    In the currency's smallest unit.

  • messagestringobligatorio

    A sentence to tell the person.

  • switchOfferno especificado

    On a monthly checkout, the month a yearly one would get instead.

  • allOf 1object

    Switch from Mailchimp: one month off the first yearly invoice.

  • offerstringobligatorio

    enum: "switch_from_mailchimp"

  • sourcestringobligatorio

    enum: "signup_campaign", "mailchimp_connection"

  • planKeystringobligatorio

    enum: "starter", "pro", "business", "scale"

  • intervalstringobligatorio

    enum: "year"

  • currencystringobligatorio

    Lowercase ISO currency the amounts are in.

  • amountOffintegerobligatorio

    In the currency's smallest unit.

  • yearlyPriceintegerobligatorio

    In the currency's smallest unit.

  • firstYearPriceintegerobligatorio

    In the currency's smallest unit.

  • messagestringobligatorio

    A sentence to tell the person.

Ejemplo de 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

Abrir el portal de facturación del cliente

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • urlstringobligatorio

    format: "uri"

Ejemplo de 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

Comprar tiempo de plan prepagado con un Shared Payment Token

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject
  • plan_keystringobligatorio

    enum: "starter", "pro"

  • intervalstring

    default: "month" · enum: "month", "year"

  • shared_payment_tokenstringobligatorio

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

Respuesta correcta 200

Respuesta correcta.

application/json

  • valueobject
  • dataobjectobligatorio
  • statusstringobligatorio
  • payment_intent_idstringobligatorio
  • messagestringobligatorio
  • plan_keystring

    enum: "starter", "pro"

  • prepaid_untilstring | null

    format: "date-time"

  • amount_centsinteger

    What was charged.

  • discountobject
  • offerstringobligatorio

    enum: "switch_from_mailchimp"

  • amount_off_centsintegerobligatorio
  • full_price_centsintegerobligatorio
  • messagestringobligatorio

Ejemplo de 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"
}'

Espacios de trabajo

POST/v1/workspaces

createWorkspace

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
Idempotency-Key
header · obligatorio
  • valuestring

    minLength: 16 · maxLength: 128

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 200

Respuesta correcta 200

Repetición idempotente de un espacio de trabajo creado anteriormente.

application/json

  • valueobject
  • datano especificadoobligatorio
  • allOf 1object
  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • shardstringobligatorio
  • rolestringobligatorio

    enum: "owner", "admin", "member", "viewer"

  • revisionintegerobligatorio

    format: "int64"

  • name_sourcestringobligatorio

    Origen del nombre del espacio de trabajo: signup (nombre automático de registro), brand (empresa o marca confirmada en la configuración inicial) o user (escrito por una persona; las confirmaciones de marca ya no lo renombran).

    enum: "signup", "brand", "user"

  • owner_emailstring | nullobligatorio

    Dirección de correo del propietario activo más antiguo. Null si quien llama es una clave de API estática o el propietario no tiene dirección registrada.

  • avatar_urlstring | nullobligatorio

    Símbolo de marca del espacio de trabajo: logotipo de marca del producto predeterminado o, en su defecto, logotipo del descubrimiento de empresa confirmado más recientemente.

  • allOf 2object
  • replayedbooleanobligatorio

Ejemplo de 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}

Lee el espacio de trabajo, su propietario y los demás espacios de la persona conectada.

Cualquier actor autorizado para el espacio de trabajo puede leerlo. other_workspaces lista las otras pertenencias activas de la persona conectada. Una autorización OAuth o clave de API solo está autorizada para este espacio y no obtiene información de los demás, así que other_workspaces está vacío y la respuesta lo indica en una nota. Una clave de API estática no representa a una persona, así que owner_email es null.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 200

El espacio de trabajo tal como lo ve quien llama.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • name_sourcestringobligatorio

    Origen del nombre del espacio de trabajo: signup (nombre automático de registro), brand (empresa o marca confirmada en la configuración inicial) o user (escrito por una persona; las confirmaciones de marca ya no lo renombran).

    enum: "signup", "brand", "user"

  • rolestringobligatorio

    enum: "owner", "admin", "member", "viewer"

  • owner_emailstring | nullobligatorio
  • avatar_urlstring | nullobligatorio
  • other_workspacesarrayobligatorio

    maxItems: 50

  • Cada elementoobject

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • rolestringobligatorio

    enum: "owner", "admin", "member", "viewer"

  • notestring

    Presente para llamadores de clave de API y OAuth cuya conexión solo está autorizada para este espacio de trabajo.

Ejemplo de curl

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

Renombra un espacio de trabajo.

Requiere propietario o administrador activo; las credenciales necesitan workspace:admin para este espacio. El nombre se recorta y debe tener 1-80 caracteres. Un nombre escrito es definitivo: las confirmaciones de marca posteriores ya no renombran el espacio (name_source pasa a user). Incrementa la revisión del espacio y registra un cambio "workspace".

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud obligatorio

application/json

  • valueobject

    Sin propiedades adicionales

  • namestringobligatorio

    minLength: 1 · maxLength: 80

Respuesta correcta 200

Espacio de trabajo renombrado.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio

    minLength: 1 · maxLength: 80

  • name_sourcestringobligatorio

    const: "user"

Ejemplo de 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 permanentemente un espacio de trabajo propio y pone en cola la limpieza de objetos físicos.

Requiere que el actor autenticado sea propietario. Las claves estáticas de API del espacio no pueden eliminarlo; requiere una sesión humana o autorización OAuth del usuario con workspace:admin. Deben cancelarse primero las suscripciones de pago. El estado PostgreSQL se elimina atómicamente y todas las versiones de objetos B2 bajo el prefijo del espacio se purgan de forma asíncrona.

Autenticación: clave de API Bearer del espacio de trabajo.

Parámetros

Nombre / ubicaciónEsquema
workspaceId
path · obligatorio
  • valuestring

    format: "uuid"

Cuerpo de la solicitud

El contrato no especifica un cuerpo de solicitud.

Respuesta correcta 202

Espacio de trabajo canónico eliminado y limpieza de objetos físicos en cola.

application/json

  • valueobject
  • dataobjectobligatorio

    Sin propiedades adicionales

  • idstringobligatorio

    format: "uuid"

  • namestringobligatorio
  • deletedbooleanobligatorio

    const: true

  • storage_cleanupstringobligatorio

    const: "queued"

  • next_workspace_idstring

    format: "uuid"

Ejemplo de curl

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