BangerMail Inc. Workspaces API

The Workspaces API from BangerMail Inc. — 262 operation(s) for workspaces.

Operations 331

Showing the first 250 of 331. The full set is in the contract, and via get_provider_operations.

GET /v1/workspaces/{workspaceId}/feedback Check whether customer feedback delivery is available #
POST /v1/workspaces/{workspaceId}/feedback Report a bug, send feedback, or suggest a feature #
POST /v1/workspaces/{workspaceId}/support/messages Send a message to Banger support #
POST /v1/workspaces/{workspaceId}/feedback/attachments Upload a screenshot or video to private Linear storage #
POST /v1/workspaces/{workspaceId}/feedback/attachments/prepare Prepare a direct agent or server media upload #
POST /v1/workspaces/{workspaceId}/feedback/attachments/{attachmentId}/complete Verify a direct media upload before attaching it to feedback #
POST /v1/workspaces/{workspaceId}/ai/command-runs Start a mail assistant command with reads and confirmation-only proposals #
POST /v1/workspaces/{workspaceId}/ai/command-runs/{runId}/tool-results Continue an actor-owned command in its original product scope #
GET /v1/workspaces/{workspaceId}/email-preview Render saved emails for visual iteration without sending #
POST /v1/workspaces Create workspace #
GET /v1/workspaces/{workspaceId} Read the workspace, its owner, and the signed-in person's other workspaces #
PATCH /v1/workspaces/{workspaceId} Rename a workspace #
DELETE /v1/workspaces/{workspaceId} Permanently delete an owned workspace and queue physical object cleanup #
POST /v1/workspaces/{workspaceId}/select Make a workspace the signed-in person's current workspace #
GET /v1/workspaces/{workspaceId}/access List workspace members and active invitations #
PATCH /v1/workspaces/{workspaceId}/members/{memberId} Change another member's role #
POST /v1/workspaces/{workspaceId}/invitations Invite a human actor to the workspace #
GET /v1/workspaces/{workspaceId}/answer-agents List answer agents #
POST /v1/workspaces/{workspaceId}/answer-agents Create answer agent #
PUT /v1/workspaces/{workspaceId}/onboarding/path Select onboarding path #
GET /v1/workspaces/{workspaceId}/onboarding/guided Read the canonical setup (connect, brand, domain) without creating resources or… #
POST /v1/workspaces/{workspaceId}/onboarding/guided Execute one explicit retry-safe onboarding action for the selected product #
GET /v1/workspaces/{workspaceId}/onboarding/agent-state Resume the shared browser and MCP onboarding journey #
POST /v1/workspaces/{workspaceId}/onboarding/agent-state/start Select the agent-led entry surface or the browser fallback #
POST /v1/workspaces/{workspaceId}/onboarding/agent-state/aha-one Idempotently create the permanent hosted mailbox and start its real… #
POST /v1/workspaces/{workspaceId}/onboarding/agent-state/agent-proof Send the OAuth-bound agent connection proof to the canonical hosted mailbox #
PUT /v1/workspaces/{workspaceId}/onboarding/agent-state/decision Record one explicit progressive-onboarding choice #
PUT /v1/workspaces/{workspaceId}/onboarding/agent-state/domain-choice Persist the user's company-domain or no-domain onboarding decision and run… #
PUT /v1/workspaces/{workspaceId}/onboarding/agent-state/context Store reviewed business context supplied by the browser or connected agent #
PUT /v1/workspaces/{workspaceId}/onboarding/agent-state/plan Store personalized next-step choices after live email activation passes #
POST /v1/workspaces/{workspaceId}/onboarding/agent-state/apply Record reviewed artifacts prepared from the opportunity plan #
POST /v1/workspaces/{workspaceId}/onboarding/agent-state/plan/approve Approve the proposed opportunity map before the agent prepares sensitive changes #
POST /v1/workspaces/{workspaceId}/onboarding/agent-state/validate Derive deterministic activation validation from Banger-owned proof state #
POST /v1/workspaces/{workspaceId}/onboarding/agent-state/complete Complete onboarding after deterministic validation passes #
POST /v1/workspaces/{workspaceId}/onboarding/starter-proof Start or resume a real send-and-receive proof for a starter address #
GET /v1/workspaces/{workspaceId}/onboarding/starter-proof Read the durable status of a starter-address round trip #
POST /v1/workspaces/{workspaceId}/onboarding/domain-proof Start or resume two real send-and-receive checks for verified Banger… #
GET /v1/workspaces/{workspaceId}/onboarding/domain-proof Read the durable status of the domain infrastructure checks #
PUT /v1/workspaces/{workspaceId}/onboarding/goal Select activation goal #
GET /v1/workspaces/{workspaceId}/onboarding/discovery Get workspace domain discovery #
POST /v1/workspaces/{workspaceId}/onboarding/discovery Scan workspace domain #
PUT /v1/workspaces/{workspaceId}/onboarding/discovery Confirm workspace domain discovery #
POST /v1/workspaces/{workspaceId}/events Send a custom event into the product's Journeys #
GET /v1/workspaces/{workspaceId}/webhooks List inbound event sources and outbound event destinations #
POST /v1/workspaces/{workspaceId}/webhooks Create a signed, retried destination or idempotent inbound event source #
PATCH /v1/workspaces/{workspaceId}/webhooks/{endpointId} Disable a webhook, or re-enable a disabled or failing one, without rotating its… #
DELETE /v1/workspaces/{workspaceId}/webhooks/{endpointId} Permanently delete a webhook so its name can be used again #
GET /v1/workspaces/{workspaceId}/webhooks/{endpointId}/credentials Reopen an active incoming webhook's existing credential options #
GET /v1/workspaces/{workspaceId}/webhooks/{endpointId}/deliveries List recent delivery attempts and HTTP outcomes for an outbound webhook #
POST /v1/workspaces/{workspaceId}/webhooks/{endpointId}/test Queue one signed synthetic event through the normal retrying delivery path #
GET /v1/workspaces/{workspaceId}/content-settings Read product-level locale, fallback, timezone, glossary, and review settings #
PUT /v1/workspaces/{workspaceId}/content-settings Save product-level content settings with optimistic version check #
GET /v1/workspaces/{workspaceId}/communication-policy Read product-wide recipient conflict, frequency, and delivery-window policy #
PUT /v1/workspaces/{workspaceId}/communication-policy Save the product communication policy with optimistic version check #
POST /v1/workspaces/{workspaceId}/communication-policy/simulate Read-only policy simulation for fixed send requests to one recipient #
GET /v1/workspaces/{workspaceId}/approvals/{approvalId}/managed-layout-preview/{contentId} Read full source-locale before/after renders for content bound to one layout… #
GET /v1/workspaces/{workspaceId}/approvals/{approvalId}/journey-preview Render every email of a Journey activation or enrollment approval from its… #
GET /v1/workspaces/{workspaceId}/assets List product email images and their immutable public URLs #
POST /v1/workspaces/{workspaceId}/assets Store an immutable image for managed email content #
GET /v1/workspaces/{workspaceId}/assets/{assetId} Read one product email image's metadata and public URL #
GET /v1/workspaces/{workspaceId}/managed-layouts List reusable product email layouts #
POST /v1/workspaces/{workspaceId}/managed-layouts Create a draft layout from validated HTML or a brand-seeded default #
GET /v1/workspaces/{workspaceId}/managed-layouts/{layoutId} Read a layout and its current draft revision #
PATCH /v1/workspaces/{workspaceId}/managed-layouts/{layoutId} Save a validated draft layout revision #
GET /v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/versions List immutable layout revisions #
GET /v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/impact Describe content drafts and publications depending on this layout #
POST /v1/workspaces/{workspaceId}/managed-layouts/{layoutId}/restore Copy an immutable layout revision into a new draft #
GET /v1/workspaces/{workspaceId}/managed-content List product managed email content in stable newest-id order #
POST /v1/workspaces/{workspaceId}/managed-content Save a source-locale email draft and queue missing target translations #
GET /v1/workspaces/{workspaceId}/managed-content/{contentId} Read the draft revision, translations, and preparation status #
PATCH /v1/workspaces/{workspaceId}/managed-content/{contentId} Save a new source draft revision without changing production publication #
POST /v1/workspaces/{workspaceId}/managed-content/{contentId}/render Preview a saved source revision and one ready locale without sending #
POST /v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/retry Retry a failed automatic translation of the current source draft #
GET /v1/workspaces/{workspaceId}/managed-content/{contentId}/translations Read translation catalogs and preparation jobs for the draft revision #
POST /v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/review Review the exact pending translation catalog for one source revision #
GET /v1/workspaces/{workspaceId}/managed-content/{contentId}/versions List immutable publication history #
POST /v1/workspaces/{workspaceId}/managed-content/{contentId}/restore Copy an earlier source revision into a new draft, without publishing it #
GET /v1/workspaces/{workspaceId}/journeys List journeys #
POST /v1/workspaces/{workspaceId}/journeys Create journey #
DELETE /v1/workspaces/{workspaceId}/journeys/{journeyId} Delete journey #
GET /v1/workspaces/{workspaceId}/journeys/{journeyId} Get journey #
PUT /v1/workspaces/{workspaceId}/journeys/{journeyId} Update journey #
PATCH /v1/workspaces/{workspaceId}/journeys/{journeyId} Update selected Journey fields while preserving its other definition fields #
POST /v1/workspaces/{workspaceId}/journeys/{journeyId}/convert-managed Convert a paused or draft legacy Journey to prepared managed content #
POST /v1/workspaces/{workspaceId}/journeys/{journeyId}/render Render one saved Journey email step without sending #
POST /v1/workspaces/{workspaceId}/journeys/{journeyId}/status Set journey status #
POST /v1/workspaces/{workspaceId}/journeys/{journeyId}/preview Preview journey #
POST /v1/workspaces/{workspaceId}/journeys/{journeyId}/enroll Enroll explicit contacts in a Journey through a governed approval #
GET /v1/workspaces/{workspaceId}/journeys/{journeyId}/executions List journey executions #
GET /v1/workspaces/{workspaceId}/journeys/{journeyId}/people List journey people #
POST /v1/workspaces/{workspaceId}/journeys/{journeyKey}/send Send journey #
POST /v1/workspaces/{workspaceId}/journeys/{journeyId}/claim Claim journey #
POST /v1/workspaces/{workspaceId}/journeys/{journeyId}/merge Merge journeys #
POST /v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/{stepId}/decide Decide journey split #
GET /v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/recommend Recommend journey arms #
GET /v1/workspaces/{workspaceId}/approvals List approval requests #
POST /v1/workspaces/{workspaceId}/approvals Create approval request #
GET /v1/workspaces/{workspaceId}/approvals/count Count approvals that are waiting or were missed before a decision #
GET /v1/workspaces/{workspaceId}/approvals/{approvalId} Get approval request #
POST /v1/workspaces/{workspaceId}/qa/approvals/{approvalId}/decision Decide dedicated qa approval #
POST /v1/workspaces/{workspaceId}/qa/approval-runs/revoke Revoke dedicated qa approval run #
POST /v1/workspaces/{workspaceId}/approvals/{approvalId}/decision Decide approval request #
POST /v1/workspaces/{workspaceId}/approvals/{approvalId}/cancel Cancel approval request #
POST /v1/workspaces/{workspaceId}/approvals/{approvalId}/dismiss Dismiss approval request #
POST /v1/workspaces/{workspaceId}/approvals/{approvalId}/rerequest Rerequest approval request #
POST /v1/workspaces/{workspaceId}/approvals/{approvalId}/revise Revise approval request #
POST /v1/workspaces/{workspaceId}/automation/jobs Create execution job #
GET /v1/workspaces/{workspaceId}/automation/jobs/{jobId} Get execution job #
GET /v1/workspaces/{workspaceId}/agent-runs List recent internal-agent runs for the workspace #
POST /v1/workspaces/{workspaceId}/agent-runs Start an isolated Banger internal-agent run #
GET /v1/workspaces/{workspaceId}/agent-runs/{runId} Get agent run #
POST /v1/workspaces/{workspaceId}/agent-runs/{runId}/cancel Cancel agent run #
GET /v1/workspaces/{workspaceId}/mailboxes List mailboxes #
POST /v1/workspaces/{workspaceId}/mailboxes Create a Banger-native work mailbox on a workspace sending domain #
POST /v1/workspaces/{workspaceId}/mailboxes/sms Add an SMS inbox for a number on the company's own Twilio account. #
GET /v1/workspaces/{workspaceId}/mailboxes/whatsapp/signup What the web app needs to open Meta's Embedded Signup for a WhatsApp inbox… #
POST /v1/workspaces/{workspaceId}/mailboxes/whatsapp Finish connecting a WhatsApp number as an inbox, with the WhatsApp Business… #
GET /v1/workspaces/{workspaceId}/mailboxes/sms/available-numbers Toll-free numbers Banger can buy for this workspace, which text phones in the… #
POST /v1/workspaces/{workspaceId}/mailboxes/sms/numbers Buy a toll-free number as an SMS inbox and ask carriers to approve it with the… #
GET /v1/workspaces/{workspaceId}/mailboxes/{mailboxId}/deletion-preview Preview permanent mailbox deletion and dependent sending flows. #
PATCH /v1/workspaces/{workspaceId}/mailboxes/{mailboxId} Set the sender name recipients see on mail from one Banger mailbox ("Name "). #
DELETE /v1/workspaces/{workspaceId}/mailboxes/{mailboxId} Permanently delete one mailbox, keeping its domain and other mailboxes. #
POST /v1/workspaces/{workspaceId}/mailboxes/starter Create a hosted mailbox restricted to same-product hosted inboxes and the… #
POST /v1/workspaces/{workspaceId}/mailboxes/{mailboxId}/reactivate Resume the sender-reputation pause holding one mailbox, under the self-serve… #
GET /v1/workspaces/{workspaceId}/sending-health Read sender-reputation enforcement state, lane rates, pauses and the enforced… #
POST /v1/workspaces/{workspaceId}/sending-health/resume Resume one lane, domain or mailbox pause after reviewing its rates and sources #
GET /v1/workspaces/{workspaceId}/mail-page Get mail page #
GET /v1/workspaces/{workspaceId}/surface-data/{surface} Load a product screen through one authorized database transaction #
GET /v1/workspaces/{workspaceId}/home Load the setup or operating Home for the selected product #
GET /v1/workspaces/{workspaceId}/api-keys List workspace api keys #
POST /v1/workspaces/{workspaceId}/api-keys Create workspace api key #
DELETE /v1/workspaces/{workspaceId}/api-keys/{apiKeyId} Revoke workspace api key #
GET /v1/workspaces/{workspaceId}/agents List the AI agents (MCP clients) that can act for this workspace #
POST /v1/workspaces/{workspaceId}/agents/{agentId}/revoke Revoke one agent's access. It stops working within about 30 seconds #
GET /v1/workspaces/{workspaceId}/oauth-clients List the workspace's OAuth clients for agent platforms that connect with a… #
POST /v1/workspaces/{workspaceId}/oauth-clients Create a confidential OAuth client (client ID and secret) for an agent platform #
POST /v1/workspaces/{workspaceId}/oauth-clients/{clientId}/revoke Revoke an OAuth client. #
GET /v1/workspaces/{workspaceId}/connections List Banger-managed product and business data connections #
POST /v1/workspaces/{workspaceId}/connections/adapters/{adapterKey} Validate and encrypt a Banger-managed source connection #
GET /v1/workspaces/{workspaceId}/mailchimp-migration Read the progress and report of the move from Mailchimp #
POST /v1/workspaces/{workspaceId}/mailchimp-migration Start, or run again, the move from Mailchimp into this product #
POST /v1/workspaces/{workspaceId}/ai/email/revise Generate a reviewable email revision without saving or sending it #
DELETE /v1/workspaces/{workspaceId}/connections/{connectionId} Disable connection #
POST /v1/workspaces/{workspaceId}/connections/{connectionId}/validate Revalidate the active credential and refresh account metadata #
POST /v1/workspaces/{workspaceId}/connections/{connectionId}/credential Validate and atomically rotate a managed connection credential #
POST /v1/workspaces/{workspaceId}/connections/{connectionId}/query Execute a typed, bounded read against a Banger-managed connection #
GET /v1/workspaces/{workspaceId}/connections/{connectionId}/grants List connection grants #
PUT /v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId} Grant connection access #
DELETE /v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId} Revoke connection access #
POST /v1/workspaces/{workspaceId}/providers/google/oauth/session Start a PKCE-protected Gmail mailbox connection for this workspace #
GET /v1/workspaces/{workspaceId}/providers/google/oauth/sessions/{sessionId} Poll a Gmail authorization session inside its workspace boundary #
GET /v1/workspaces/{workspaceId}/provider-connections List provider connections #
POST /v1/workspaces/{workspaceId}/provider-connections/resend Create resend provider connection #
PUT /v1/workspaces/{workspaceId}/provider-connections/{providerConnectionId}/credential Rotate resend provider credential #
DELETE /v1/workspaces/{workspaceId}/provider-connections/{providerConnectionId} Disable provider connection #
POST /v1/workspaces/{workspaceId}/sending-domain-migrations Request native domain migration #
GET /v1/workspaces/{workspaceId}/sending-lanes List email lanes #
POST /v1/workspaces/{workspaceId}/sending-lanes Create email lane #
POST /v1/workspaces/{workspaceId}/sending-lanes/plan Plan email lane #
POST /v1/workspaces/{workspaceId}/sending-lanes/migrations Request email lane migration #
POST /v1/workspaces/{workspaceId}/sending-domains Create native sending domain #
GET /v1/workspaces/{workspaceId}/sending-domains List native sending domains #
GET /v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId} Get native sending domain #
DELETE /v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId} Delete native sending domain #
DELETE /v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind} Remove native sending lane #
POST /v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/pause Pause native sending lane #
POST /v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/resume Resume native sending lane #
POST /v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/verify Verify native sending domain #
GET /v1/workspaces/{workspaceId}/send-intents List send intents #
GET /v1/workspaces/{workspaceId}/send-intents/{sendIntentId} Get send intent #
GET /v1/workspaces/{workspaceId}/threads List threads #
GET /v1/workspaces/{workspaceId}/threads/{threadId} Get thread #
GET /v1/workspaces/{workspaceId}/messages/{messageId}/html Get message html #
GET /v1/workspaces/{workspaceId}/sender-avatar Get sender avatar #
GET /v1/workspaces/{workspaceId}/attachments/{attachmentId}/content Download attachment #
GET /v1/workspaces/{workspaceId}/search Search mail #
GET /v1/workspaces/{workspaceId}/work List work #
POST /v1/workspaces/{workspaceId}/commands Create command #
GET /v1/workspaces/{workspaceId}/changes List changes #
POST /v1/workspaces/{workspaceId}/realtime-ticket Create realtime ticket #
GET /v1/workspaces/{workspaceId}/commands/{commandId} Get command #
GET /v1/workspaces/{workspaceId}/labels List labels #
POST /v1/workspaces/{workspaceId}/labels Create label #
GET /v1/workspaces/{workspaceId}/label-suggestions List label suggestions #
GET /v1/workspaces/{workspaceId}/triage-rules List triage rules #
POST /v1/workspaces/{workspaceId}/triage-rules Create triage rule #
POST /v1/workspaces/{workspaceId}/triage-rules/preview Preview triage rule #
POST /v1/workspaces/{workspaceId}/triage-rules/run-past-mail Run triage on past mail #
GET /v1/workspaces/{workspaceId}/triage-rules/{ruleId} Get triage rule #
PATCH /v1/workspaces/{workspaceId}/triage-rules/{ruleId} Update triage rule #
DELETE /v1/workspaces/{workspaceId}/triage-rules/{ruleId} Delete triage rule #
GET /v1/workspaces/{workspaceId}/triage-actions List triage actions #
POST /v1/workspaces/{workspaceId}/triage-actions/{actionId}/undo Undo triage action #
GET /v1/workspaces/{workspaceId}/triage-usage Get triage usage #
GET /v1/workspaces/{workspaceId}/review-policy Get action review policy #
PUT /v1/workspaces/{workspaceId}/review-policy Update action review policy #
PATCH /v1/workspaces/{workspaceId}/labels/{labelId} Update label #
DELETE /v1/workspaces/{workspaceId}/labels/{labelId} Delete label #
GET /v1/workspaces/{workspaceId}/documents List documents #
GET /v1/workspaces/{workspaceId}/drafts List drafts #
POST /v1/workspaces/{workspaceId}/drafts Create draft #
GET /v1/workspaces/{workspaceId}/drafts/{draftId} Get draft #
PUT /v1/workspaces/{workspaceId}/drafts/{draftId} Update draft #
DELETE /v1/workspaces/{workspaceId}/drafts/{draftId} Delete draft #
POST /v1/workspaces/{workspaceId}/drafts/{draftId}/send Send draft #
POST /v1/workspaces/{workspaceId}/drafts/{draftId}/attachments Upload draft attachment #
DELETE /v1/workspaces/{workspaceId}/drafts/{draftId}/attachments/{attachmentId} Delete draft attachment #
GET /v1/workspaces/{workspaceId}/contacts List contacts #
POST /v1/workspaces/{workspaceId}/contacts Upsert contact #
GET /v1/workspaces/{workspaceId}/contacts/{contactId} Get contact #
DELETE /v1/workspaces/{workspaceId}/contacts/{contactId} Delete contact #
GET /v1/workspaces/{workspaceId}/contacts/imports List contact imports #
POST /v1/workspaces/{workspaceId}/contacts/imports Import contacts #
GET /v1/workspaces/{workspaceId}/contact-lists List contact lists #
POST /v1/workspaces/{workspaceId}/contact-lists Create contact list #
GET /v1/workspaces/{workspaceId}/contact-lists/{listId} Get contact list #
DELETE /v1/workspaces/{workspaceId}/contact-lists/{listId} Delete contact list #
GET /v1/workspaces/{workspaceId}/contact-lists/{listId}/deletion-preview Preview contact list deletion #
POST /v1/workspaces/{workspaceId}/contact-lists/{listId}/members Add contact list members #
DELETE /v1/workspaces/{workspaceId}/contact-lists/{listId}/members Remove contact list members #
GET /v1/workspaces/{workspaceId}/contact-fields The product's contact fields (built-in, declared and discovered) with type… #
POST /v1/workspaces/{workspaceId}/contact-fields Declare a contact field: label, type (text, number, boolean, date, choice… #
PATCH /v1/workspaces/{workspaceId}/contact-fields/{key} Rename, describe, retype (converting stored values, or 409 with an example that… #
GET /v1/workspaces/{workspaceId}/signup-forms The product's signup forms with embed code, hosted link, views, signups… #
POST /v1/workspaces/{workspaceId}/signup-forms Create a form: kind (inline, popup, bar, slide_in, page), list_id or list_name… #
GET /v1/workspaces/{workspaceId}/signup-forms/readiness Whether this product can turn forms on (its product lane sends from a verified… #
POST /v1/workspaces/{workspaceId}/signup-forms/preview Render unsaved form settings as a complete HTML page on a sketched website #
GET /v1/workspaces/{workspaceId}/signup-forms/{formId} Get signup form #
PATCH /v1/workspaces/{workspaceId}/signup-forms/{formId} Partial update; config merges into the saved settings; status active, paused or… #
POST /v1/workspaces/{workspaceId}/signup-forms/{formId}/preview Render a saved form, optionally with unsaved changes, in the form or success… #
GET /v1/workspaces/{workspaceId}/segments List segments #
POST /v1/workspaces/{workspaceId}/segments Create segment #
GET /v1/workspaces/{workspaceId}/segments/{segmentId}/preview Preview segment #
GET /v1/workspaces/{workspaceId}/suppressions List suppressions #
POST /v1/workspaces/{workspaceId}/suppressions Create suppression #
DELETE /v1/workspaces/{workspaceId}/suppressions/{emailHash} Delete suppression #
GET /v1/workspaces/{workspaceId}/templates List templates #
POST /v1/workspaces/{workspaceId}/templates Create template #
POST /v1/workspaces/{workspaceId}/templates/preview Preview design #
GET /v1/workspaces/{workspaceId}/templates/{templateId} Get template #
PATCH /v1/workspaces/{workspaceId}/templates/{templateId} Update template #
POST /v1/workspaces/{workspaceId}/templates/{templateId}/duplicate Duplicate template #
POST /v1/workspaces/{workspaceId}/templates/{templateId}/preview Preview template #
POST /v1/workspaces/{workspaceId}/campaigns/coverage-preview Preview campaign coverage #
POST /v1/workspaces/{workspaceId}/brand/discover Discover product brand #
GET /v1/workspaces/{workspaceId}/brand Get brand #
PUT /v1/workspaces/{workspaceId}/brand Update brand #
GET /v1/workspaces/{workspaceId}/starters List starters #
GET /v1/workspaces/{workspaceId}/experiments List experiments #
POST /v1/workspaces/{workspaceId}/experiments Create experiment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bangermail-com:bangermail-com-workspaces-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bangermail-com-workspaces-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Banger Workspaces API
  version: 0.1.0
  description: 'Customer-facing Banger API: workspace resources (mailboxes, sending, threads, contacts, lists, segments, templates, Broadcasts, Journeys, approvals, sending domains, webhooks, API keys) and the public signup-form endpoints. Authenticate workspace requests with `Authorization: Bearer `; create keys in the Banger app under Settings → Developers → Manage API keys. AI agents can use the same capabilities through the Banger MCP server at https://api.bangermail.com/mcp.'
  contact:
    name: Banger support
    email: hello@team.bangermail.com
    url: https://bangermail.com/support/
  termsOfService: https://bangermail.com/terms/
servers:
- url: https://api.bangermail.com
security:
- bearerAuth: []
tags:


# --- truncated at 32 KB (810 KB total) ---
# Full source: https://artifacts.apis.io/bangermail-com/openapi/bangermail-com-workspaces-api-openapi.yml