Table of contents
Keep emails out of spam
Warm up mailboxes and test inbox placement.
Try
free

Warmforge API: How To Connect Warmforge To Your GTM Stack

The Warmforge API gives technical GTM teams a way to manage mailbox warm-up, read mailbox health, pull warm-up stats, and run placement-test workflows without clicking through the dashboard one mailbox at a time.

That is the practical answer.

It is not a campaign-sending API. It does not buy domains, provision infrastructure, or edit DNS records for you. The API exposes the core mailbox, warm-up, health, and placement workflows that become repetitive at scale.

If you manage five inboxes, the dashboard is probably enough. If you manage fifty, two hundred, or a client fleet across workspaces, the Warmforge API becomes the control layer for your deliverability routine.

TL;DR

  • Warmforge has a REST API for mailbox, warm-up, health, and placement-test workflows.
  • Use it when deliverability work needs to happen inside your CRM, RevOps scripts, client reporting, Slack alerts, or internal GTM dashboard.
  • All endpoint examples below use this path convention: /public/v1/workspaces/{workspaceID} as the workspace-scoped base path.
  • Warmforge can return authentication and health signals such as SPF, DKIM, MX, and blacklist status, but it does not replace Mailforge, Infraforge, or Primeforge for infrastructure provisioning.
  • The best first workflow is simple: list mailboxes, read health and placement data, then adjust warm-up limits only when the mailbox is healthy enough to scale.

Warmforge API Quick Answer

Item Details
Best For Automating mailbox warm-up, health checks, placement tests, and deliverability reporting.
Main Resources Mailboxes, warm-up stats, and placement tests.
Base Path Convention /public/v1/workspaces/{workspaceID}
Authentication API key in the authenticated request header.
API Key Location Warmforge app settings, then the API key section.
Supports Sending Campaigns? No.
Supports Domain Purchasing or DNS Editing? No.
Can Report DNS-Related Health? Yes, including authentication and blacklist signals where available.
Other Access Options API, MCP Server, and CLI.

Last verified against Warmforge API v1: July 2026.

The mental model is simple: Warmforge protects the mailbox layer. Salesforge runs outreach sequences. Mailforge, Infraforge, and Primeforge handle infrastructure. Leadsforge feeds list data. Agent Frank can operate the workflow when you want the system to run without a rep doing every step.

Tools are not the strategy. The workflow is the strategy.

How to Get a Warmforge API Key

Start inside the Warmforge app.

  1. Log in to Warmforge.
  2. Open your workspace.
  3. Go to settings.
  4. Open the API key area.
  5. Generate a new key.
  6. Store it in a secrets manager or environment variable.
  7. Use a separate key per integration where possible.
How to get Warmforge API
This image shows how to get Warmforge API

Do not paste the key into client-side code, Google Sheets scripts shared across the company, or random automation builders without access controls.

A sane setup looks like this:

export WARMFORGE_API_KEY="wf_live_your_key_here"
export WARMFORGE_WORKSPACE_ID="your_workspace_id" 

If you are building this for multiple clients, do not use one universal key across every client workflow. Treat each workspace like a separate operating boundary. That makes rotation, debugging, and incident cleanup less painful.

Authentication and Base URL

All examples below assume a workspace-scoped v1 API path.

https://api.warmforge.ai/public/v1/workspaces/{workspaceID}

Use your Warmforge API key in the request header and send JSON bodies with Content-Type: application/json.

curl -X GET \
  "https://api.warmforge.ai/public/v1/workspaces/$WARMFORGE_WORKSPACE_ID/mailboxes" \
  -H "Authorization: Bearer $WARMFORGE_API_KEY" \
  -H "Content-Type: application/json" 

Expected success shape:

{
  "data": [
    {
      "email": "[email protected]",
      "provider": "google",
      "warmupEnabled": true,
      "dailyWarmupLimit": 18,
      "healthStatus": "good",
      "heatScore": 91
    }
  ]
} 

Your production response may include additional fields. Build your integration defensively: parse the fields you need, ignore fields you do not use, and log the request ID or response metadata when Warmforge returns it.

Make Your First Warmforge API Request

The first request should be read-only.

Do not start by bulk-changing limits. First, list the mailbox fleet and confirm you are looking at the right workspace.

curl -X GET \
  "https://api.warmforge.ai/public/v1/workspaces/$WARMFORGE_WORKSPACE_ID/mailboxes" \
  -H "Authorization: Bearer $WARMFORGE_API_KEY" \
  -H "Content-Type: application/json" 

Example response:

{
  "data": [
    {
      "email": "[email protected]",
      "provider": "microsoft",
      "warmupEnabled": true,
      "dailyWarmupLimit": 15,
      "healthStatus": "good",
      "spfStatus": "valid",
      "dkimStatus": "valid",
      "blacklistStatus": "clear"
    },
    {
      "email": "[email protected]",
      "provider": "google",
      "warmupEnabled": true,
      "dailyWarmupLimit": 8,
      "healthStatus": "not_good",
      "spfStatus": "valid",
      "dkimStatus": "missing",
      "blacklistStatus": "clear"
    }
  ]
} 

This is where most teams should pause.

If your script cannot tell the difference between a healthy mailbox and a mailbox with missing DKIM, it should not be allowed to change warm-up limits yet. Automation without a safety rule just makes mistakes faster.

First Warmforge API request path

Warmforge Workspaces and Mailbox Addressing

Warmforge API paths are workspace-scoped because agencies, RevOps teams, and outbound operators often manage separate client or business-unit environments.

That matters operationally.

If you run one script across the wrong workspace, you can change the wrong client fleet. Keep workspace IDs explicit in your config, tag logs with the workspace, and never let an automation infer the workspace from a mailbox domain alone.

Warmforge mailbox actions are commonly keyed by email address because the mailbox is the unit you actually warm, monitor, and test. Domains matter, but the daily decision is usually mailbox-level:

  • Is this mailbox connected?
  • Is warm-up running?
  • What is the current daily warm-up limit?
  • Is authentication healthy?
  • Did the latest placement test drop below the operating threshold?

The domain view tells you where the risk may come from. The mailbox view tells you what to do next.

Warmforge API Endpoints

Endpoint paths below are shown relative to:

/public/v1/workspaces/{workspaceID}

Use the live API reference as the final source for request fields, response fields, rate limits, and optional parameters.

Mailbox Connection Endpoints

Use these when you need to connect mailboxes programmatically or build an onboarding flow around Warmforge.

Method Endpoint Use It For
POST /mailboxes/connect-oauth2 Connect Google Workspace or Microsoft 365 mailboxes through OAuth2.
POST /mailboxes/connect-smtp Connect SMTP/IMAP mailboxes where OAuth is not available.
GET /mailboxes List connected mailboxes in the workspace.

OAuth2 is the cleaner path when your mailbox provider supports it. SMTP is useful for custom servers and inherited setups.

If you are choosing infrastructure from scratch, use the mailbox model deliberately. Primeforge gives you real Google Workspace and Microsoft 365 mailboxes with ESP Matching. Mailforge gives you distributed shared email infrastructure.

Infraforge gives you private infrastructure with dedicated IPs and pre-warmed mailboxes available separately.

The API connection method should reflect that infrastructure decision, not hide it.

Mailbox Management Endpoints

Use these to read or change warm-up settings.

Method Endpoint Use It For
GET /mailboxes/{email} Retrieve one mailbox and its current settings.
PATCH /mailboxes/{email} Update one mailbox setting, such as warm-up state or limits.
POST /mailboxes/bulk-update Apply controlled changes across multiple mailboxes.

Single-mailbox updates are safer for onboarding and debugging. Bulk updates are better for weekly operating routines, but only after you have guardrails.

Example single-mailbox update:

curl -X PATCH \
  "https://api.warmforge.ai/public/v1/workspaces/$WARMFORGE_WORKSPACE_ID/mailboxes/maya%40acme-outbound.com" \
  -H "Authorization: Bearer $WARMFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "warmupEnabled": true,
    "dailyWarmupLimit": 20
  }' 

Example response:

{
  "email": "[email protected]",
  "warmupEnabled": true,
  "dailyWarmupLimit": 20,
  "updatedAt": "2026-07-18T10:14:22Z"
} 

Example bulk update:

curl -X POST \
  "https://api.warmforge.ai/public/v1/workspaces/$WARMFORGE_WORKSPACE_ID/mailboxes/bulk-update" \
  -H "Authorization: Bearer $WARMFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mailboxes": [
      {
        "email": "[email protected]",
        "dailyWarmupLimit": 20
      },
      {
        "email": "[email protected]",
        "dailyWarmupLimit": 20
      }
    ]
  }' 

Example response:

{
  "updated": 2,
  "failed": [],
  "status": "completed"
} 

Warm-up Statistics Endpoints

Warm-up stats are where the API becomes useful for reporting.

Method Endpoint Use It For
GET /mailboxes/{email}/warmup-stats Retrieve warm-up activity for one mailbox.
GET /mailboxes/warmup-stats Retrieve warm-up stats across the workspace.

Example:

curl -X GET \
  "https://api.warmforge.ai/public/v1/workspaces/$WARMFORGE_WORKSPACE_ID/mailboxes/maya%40acme-outbound.com/warmup-stats" \
  -H "Authorization: Bearer $WARMFORGE_API_KEY" \
  -H "Content-Type: application/json" 

Example response:

{
  "email": "[email protected]",
  "period": "last_7_days",
  "sent": 112,
  "received": 108,
  "replied": 74,
  "removedFromSpam": 3,
  "heatScore": 93
} 

Do not turn one metric into a universal truth. Heat Score™, inbox placement, authentication checks, engagement, and planned sending volume all matter together.

Placement-testing Endpoints

Placement tests answer a different question from warm-up stats.

Warm-up stats tell you whether activity is happening. Placement tests tell you where your test emails land across providers.

Method Endpoint Use It For
POST /mailboxes/placement-tests Create a new placement test.
GET /mailboxes/placement-tests/{testID} Retrieve one placement test.
POST /mailboxes/placement-results/latest Read the latest placement results for selected mailboxes.

Example placement-results request:

curl -X POST \
  "https://api.warmforge.ai/public/v1/workspaces/$WARMFORGE_WORKSPACE_ID/mailboxes/placement-results/latest" \
  -H "Authorization: Bearer $WARMFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mailboxes": [
      "[email protected]",
      "[email protected]"
    ]
  }' 

Example response:

{
  "data": [
    {
      "email": "[email protected]",
      "inboxPlacement": 96,
      "status": "best",
      "googleInbox": 98,
      "microsoftInbox": 94,
      "lastTestedAt": "2026-07-17T09:00:00Z"
    },
    {
      "email": "[email protected]",
      "inboxPlacement": 82,
      "status": "not_good",
      "googleInbox": 88,
      "microsoftInbox": 76,
      "lastTestedAt": "2026-07-17T09:00:00Z"
    }
  ]
} 

Best and Good meet the target range. Not Good and Bad mean placement is below the operating threshold and needs investigation. Not Good does not mean nothing is reaching the inbox. It means the mailbox is not healthy enough to scale casually.

Example placement-test creation:

curl -X POST \
  "https://api.warmforge.ai/public/v1/workspaces/$WARMFORGE_WORKSPACE_ID/mailboxes/placement-tests" \
  -H "Authorization: Bearer $WARMFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mailboxes": [
      "[email protected]",
      "[email protected]"
    ],
    "subject": "Quick check",
    "body": "Plain-text test message for inbox placement monitoring."
  }' 

Creating a new placement test consumes placement-test capacity. Reading an existing result does not initiate a new test.

Warm-up stats versus placement tests

Practical Warmforge API Workflows

The API is not valuable because it lets you call endpoints. It is valuable because it lets you enforce a deliverability operating rhythm.

Automatically Adjust Warm-up Limits

Input: mailbox list from Warmforge.

Trigger: weekly cron job or a new mailbox reaching its first review date.

Processing: fetch health, Heat Score™, and latest placement result. Increase limits only when the mailbox is connected, authentication is valid, blacklist status is clear, and placement is inside your target band.

Output: updated warm-up limits for eligible mailboxes.

Owner: RevOps, GTM engineering, or the agency operator responsible for client deliverability.

Feedback loop: write the previous and new limit into your CRM, warehouse, or client dashboard so changes are explainable later.

For this example, assume your internal operating model only increases a mailbox when inbox placement is 90% or higher and authentication checks are clean. That is an operating rule, not a universal provider rule.

Alert Your Team When Placement Drops

This is the workflow most teams should build before they automate aggressive changes.

  1. Read latest placement results.
  2. Filter mailboxes below the threshold.
  3. Post a Slack alert with the mailbox, provider split, and last tested timestamp.
  4. Open an internal task for the owner.
  5. Reduce or hold sending volume in Salesforge if the mailbox is tied to live campaigns.

If Salesforge is the execution layer, this is where Warmforge data becomes useful beyond warm-up. It tells the sending system which inboxes should be held, watched, or scaled.

Build a Client Deliverability Dashboard

Agencies should not send screenshots every Friday.

Pull mailbox health, warm-up stats, and placement results into a dashboard grouped by client workspace. Show the few fields that matter:

  • Connected mailboxes
  • Warm-up status
  • Heat Score™
  • Authentication health
  • Blacklist status
  • Latest placement band
  • Last test date
  • Action taken

The point is not to drown the client in telemetry. The point is to prove the system is being watched.

Connect Warmforge Data With Salesforge

Warmforge handles deliverability monitoring. Salesforge handles cold email and LinkedIn sequencing.

The useful integration is not “send everything everywhere.” The useful integration is a decision loop:

  1. Warmforge reports mailbox and placement state.
  2. Your script flags risky senders.
  3. Salesforge sequencing avoids or slows those senders.
  4. Warmforge keeps warming and testing.
  5. Once health recovers, the sender returns to normal rotation.

That is how deliverability becomes part of GTM operations instead of a dashboard someone remembers to check after replies drop.

Warmforge to Salesforge sender safety loop

Warmforge API vs MCP vs CLI

Warmforge is part of the Forge Stack, which is increasingly built for operators and agents, not just people clicking dashboards.

Use the right interface for the job.

Interface Best For Tradeoff
API Product integrations, cron jobs, dashboards, and backend workflows. Requires engineering ownership.
MCP Server AI agent workflows in tools that support MCP. Less ideal for deterministic production jobs.
CLI Terminal scripts, local automation, and agent-run commands. Best when your team works from shell workflows.

The API is the stable path for production integrations.

MCP is useful when an AI assistant needs to inspect or operate Warmforge as part of a broader outbound task. CLI is useful when you want repeatable commands inside scripts, runbooks, or agent terminals.

Do not choose MCP because it sounds newer. Choose it when the operator is an AI assistant. Choose the API when the operator is your system.

What the Warmforge API Cannot Do

This boundary matters.

The Warmforge API cannot replace your infrastructure layer. It does not buy domains, create Google Workspace tenants, provision Microsoft 365 inboxes, configure DNS records, or send cold-email campaigns.

It can, however, report authentication and health signals such as SPF, DKIM, MX, and blacklist status where those signals are available. It also does not replace your cold email compliance process, because unsubscribe handling, lawful basis, and list governance still need ownership outside the warm-up layer.

That distinction keeps the stack clean:

  • Use Mailforge for distributed shared email infrastructure.
  • Use Infraforge for private email infrastructure with dedicated IPs.
  • Use Primeforge for Google Workspace and Microsoft 365 mailboxes with ESP Matching.
  • Use Warmforge for one-click AI email warmup, premium warmup pool, multilingual warmup activity, Heat Score™ tracking, Inbox Placement Tests, Health Checks, and continuous warm-up.
  • Use Salesforge for cold email and LinkedIn sequencing, Primebox™, sender rotation, Bounce Shield, built-in email validation, and campaign execution.

The better question is not “Can one API do everything?”

The better question is “Which layer owns which decision?”

When the Warmforge API Becomes Worth Using

Use the dashboard when the work is occasional.

Use the API when the work has a schedule, a threshold, or an owner who should not be clicking the same sequence forever.

The API is worth using when:

  • You manage many mailboxes across multiple workspaces.
  • You need placement alerts before campaign performance drops.
  • You report deliverability to clients.
  • You want warm-up limit changes to follow rules instead of gut feel.
  • You use Salesforge and want deliverability state to influence sender usage.
  • You want your GTM systems to read the same mailbox truth instead of relying on screenshots.

You should not use the API if you only have a handful of mailboxes, no technical owner, and no recurring deliverability workflow. In that case, the dashboard is faster and less risky.

Competitor-wins scenario: if you want warm-up and sending inside one simple outreach tool and do not care about a separate deliverability layer, a sender-first platform such as Instantly may feel easier. Warmforge makes more sense when mailbox health and placement visibility need their own operating layer.

Personalized Outbound Strategy

Get The Right Outbound Strategy In Minutes

Enter your email to get a custom plan & stack recommendation for your business

It's being carefully crafted by AI

Please check your mailbox in 5 minutes

Final Verdict

The Warmforge API is worth using when deliverability work has outgrown the dashboard.

Start small. Generate the API key, list mailboxes, retrieve health, and read placement results. Once that loop is stable, add alerts. Once alerts are trusted, add controlled updates.

That order matters.

Automation can enforce a ramp schedule, but it cannot compress domain warm-up into a fixed number of days. New or damaged senders may need several weeks, depending on the provider, history, authentication, engagement, and planned volume.

Warmforge gives you the deliverability control layer. Salesforge gives you the execution layer. The Forge Stack matters because those pieces can work in order: infrastructure first, warm-up and health monitoring next, then clean lists, personalized copy, and controlled sending volume.

If your team is still checking mailbox placement by hand, start with the one workflow that changes the operating model this week: read the latest placement results across your Warmforge workspace and alert the owner when a sender drops below the threshold.

Then connect that signal to Salesforge so your sending system stops treating every mailbox like it is equally healthy.