← Catalog

gmail.send API

gmail.send

live

Send email from an existing Gmail or Google Workspace mailbox connected with gmail.account. Pass in_reply_to from gmail.messages to reply in a thread. This does not provision an AgentMail inbox.

live coverage

Unipile: all inputs

✓ marks a combination proven with a real provider call. Others are wired and unit-tested; their first live run verifies them.

Providers

ProviderStatus
Unipile live

Billing

Unit: per_message · unmatched results billed: no
Charged per successful send; text or html required. Gmail sending limits apply. Use a RouterGrowth Idempotency-Key for retries. Tracking IDs are not email message IDs.

The exact quote is returned by /v1/inspect before every call and held with headroom on execution. The quote is the price floor: if the provider's actual cost overruns it, the run bills the overrun at the same rate, never above the hold. The unused part of every hold is released.

Run it

curl https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{
    "capability": "gmail.send",
    "input": { "to": "..." },
    "routing": {"provider": "auto"}
  }'

Input schema

{
  "properties": {
    "account_id": {
      "description": "Account name or ID from gmail.accounts. Optional when exactly one account is connected.",
      "type": "string"
    },
    "bcc": {
      "description": "Email addresses. At most 50 recipients total across to, cc and bcc.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "cc": {
      "description": "Email addresses. At most 50 recipients total across to, cc and bcc.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "html": {
      "description": "HTML body; takes precedence over text when both are supplied.",
      "type": "string"
    },
    "in_reply_to": {
      "description": "message_id from gmail.messages in the selected mailbox. The original subject is reused if omitted.",
      "type": "string"
    },
    "subject": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "to": {
      "description": "Email addresses. At most 50 recipients total across to, cc and bcc.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "to"
  ],
  "type": "object"
}

Normalized output fields

tracking_id · provider_id · note