MailBridgeAPI Activity API
Search messages and build delivery or usage reporting.
Search messages and build delivery or usage reporting.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/mailbridgeapi:mailbridgeapi-activity-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: MailBridge Activity API
summary: Turn your own mailbox into a secure email API.
version: 2026-10-20.1
description: 'MailBridgeAPI connects a mailbox you own to authenticated HTTP endpoints.
Use the account API key together with a mailbox API key to send email, read incoming messages, search activity and monitor mailbox readiness without distributing SMTP or IMAP passwords across projects.
Compatible connections include standard SMTP/IMAP, Gmail, Microsoft 365, Yahoo Mail, Zoho Mail and iCloud Mail. Provider capabilities and limits still apply.
Keep both API keys in server-side environment variables or a secret manager. Never expose them in browser code, public repositories or mobile application bundles.'
termsOfService: https://mailbridgeapi.com/terms-of-service/
contact:
name: MailBridgeAPI Support
url: https://mailbridgeapi.com/contact/
email: info@mailbridgeapi.com
license:
name: MailBridgeAPI Terms of Service
url: https://mailbridgeapi.com/terms-of-service/
x-logo:
url: https://mailbridgeapi.com/logo-mark.svg
altText: MailBridgeAPI
servers:
- url: https://api.mailbridgeapi.com
description: Production API
security:
- AccountKey: []
MailboxKey: []
tags:
- name: Activity
description: Search messages and build delivery or usage reporting.
paths:
/email/sent/:
get:
summary: List sent-email activity
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PerPage'
- name: status
in: query
schema:
type: string
enum:
- all
- success
- error
default: all
- name: recipient
in: query
schema:
type: string
format: email
- $ref: '#/components/parameters/From'
- $ref: '#/components/parameters/To'
- name: source
in: query
schema:
type: string
- $ref: '#/components/parameters/IncludeBody'
responses:
'200':
description: Paginated sent email activity
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
tags:
- Activity
operationId: listSentEmail
/email/message/:
get:
summary: Get one sent or received message
parameters:
- name: direction
in: query
required: true
schema:
type: string
enum:
- sent
- received
- name: id
in: query
required: true
schema:
type: string
responses:
'200':
description: Message detail
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Message not found
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
tags:
- Activity
operationId: getEmailMessage
/email/search/:
get:
summary: Search sent and received email metadata
description: Searches message ids, subjects and sender or recipient addresses. Message bodies remain available only through the detail endpoint.
parameters:
- name: query
in: query
required: true
schema:
type: string
minLength: 2
maxLength: 120
- name: direction
in: query
schema:
type: string
enum:
- all
- sent
- received
default: all
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PerPage'
- $ref: '#/components/parameters/From'
- $ref: '#/components/parameters/To'
responses:
'200':
description: Unified paginated email search results
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
tags:
- Activity
operationId: searchEmail
/email/activity/:
get:
summary: Get mailbox activity totals and daily trends
description: Also returns the success rate, leading request sources and most frequent error reasons.
parameters:
- name: days
in: query
schema:
type: integer
minimum: 1
maximum: 90
default: 30
responses:
'200':
description: Totals, daily activity and diagnostic breakdowns
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
tags:
- Activity
operationId: getEmailActivity
components:
parameters:
Page:
name: page
in: query
schema:
type: integer
minimum: 1
default: 1
description: One-based result page.
IncludeBody:
name: include_body
in: query
schema:
type: boolean
default: false
description: Include message bodies only when needed.
From:
name: from
in: query
schema:
type: string
format: date
description: Inclusive start date in YYYY-MM-DD format.
PerPage:
name: per_page
in: query
schema:
type: integer
minimum: 1
maximum: 100
default: 25
description: Number of results per page.
To:
name: to
in: query
schema:
type: string
format: date
description: Inclusive end date in YYYY-MM-DD format.
schemas:
Error:
type: object
required:
- ok
- error
- meta
properties:
ok:
const: false
error:
type: object
required:
- code
- message
properties:
code:
type: string
message:
type: string
additionalProperties: false
meta:
$ref: '#/components/schemas/Meta'
additionalProperties: false
Pagination:
type: object
properties:
page:
type: integer
minimum: 1
per_page:
type: integer
minimum: 1
total:
type: integer
minimum: 0
pages:
type: integer
minimum: 0
next_page_token:
type:
- string
- 'null'
Meta:
type: object
properties:
request_id:
type: string
api_version:
type: string
timestamp:
type: string
format: date-time
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
responses:
ServerError:
description: The mailbox provider rejected the operation or an internal service error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: The MailBridgeAPI or provider request limit was reached. Do not retry email sends blindly.
headers:
Retry-After:
description: Seconds to wait before retrying when supplied.
schema:
type: integer
minimum: 1
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: The account API key or mailbox API key is missing, invalid, expired or not allowed to access this mailbox.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: The request is missing a required value or contains an invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
AccountKey:
type: apiKey
in: header
name: X-API-Key
description: 'Account API key. New endpoints also accept the value as an `Authorization: Bearer` token.'
MailboxKey:
type: apiKey
in: header
name: X-Mailbox-Key
description: Mailbox API key selecting exactly one configured mailbox.
AccountKeyQuery:
type: apiKey
in: query
name: apikey
description: Account API key used by legacy-compatible endpoints. Prefer headers for new integrations when supported.
MailboxKeyQuery:
type: apiKey
in: query
name: apikeybox
description: Mailbox API key used by legacy-compatible endpoints.
externalDocs:
description: Interactive documentation, guides and live endpoint tester
url: https://mailbridgeapi.com/doc/