inboxpolicy-com Verification API
The Verification API from inboxpolicy-com — 3 operation(s) for verification.
The Verification API from inboxpolicy-com — 3 operation(s) for verification.
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/inboxpolicy-com:inboxpolicy-com-verification-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: InboxPolicy Verification API
version: 1.0.0
description: Send-decision email verification API. One call returns an action — send, send_with_caution, review, retry_later, or avoid — with confidence and SMTP/DNS evidence, instead of a raw status field.
contact:
name: InboxPolicy
email: hello@inboxpolicy.com
url: https://inboxpolicy.com
x-guidance: 'POST /v1/decide with {"email"} to get a send decision for one address (standard rate $0.01 in USDC on Base via x402, no account). Repeat wallets may send X-InboxPolicy-Payer before payment for rolling 30-day rates: 20% off after 1,000 settled units, 40% off after 10,000. POST /v1/batches/verify with {"emails":[...]} for bulk — one payment covers up to 5,000 emails, priced per email; the 402 challenge quotes the total. Poll batch results with the returned access_token. Catch-all and unknown addresses resolve to ''review'', never a guess.'
servers:
- url: https://api.inboxpolicy.com
tags:
- name: Verification
paths:
/v1/decide:
post:
operationId: decide
summary: Send decision for one email address
tags:
- Verification
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.010000'
protocols:
- x402: {}
usageDiscounts:
windowDays: 30
tiers:
- minimumSettledUnits: 1000
discountPercent: 20
- minimumSettledUnits: 10000
discountPercent: 40
parameters:
- name: X-InboxPolicy-Payer
in: header
required: false
schema:
type: string
pattern: ^0x[0-9a-fA-F]{40}$
description: Optional EVM wallet address for a rolling 30-day usage-rate quote. The eventual x402 authorization.from must match. The signed client automatically echoes the short-lived quote extension.
security:
- x402: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
minLength: 3
description: Address to evaluate.
strictness:
type: string
enum:
- aggressive
- default
- strict
default: default
force_refresh:
type: boolean
default: false
description: Bypass the 72h verification cache.
required:
- email
responses:
'200':
description: Send decision
content:
application/json:
schema:
type: object
properties:
request_id:
type: string
example: vrf_...
action:
type: string
enum:
- send
- send_with_caution
- review
- retry_later
- avoid
reason:
type: string
confidence:
type: integer
minimum: 0
maximum: 100
status:
type: string
enum:
- valid
- invalid
- unknown
- temporary_unavailable
- syntax_error
signals:
type: object
properties:
catch_all:
type: boolean
disposable:
type: boolean
free:
type: boolean
role_account:
type: boolean
from_cache:
type: boolean
cost:
type: object
properties:
credits:
type: integer
billable:
type: boolean
required:
- action
- confidence
- status
'402':
description: Payment Required
/v1/verify:
post:
operationId: verify
summary: Full verification detail plus send-decision fields for one email
tags:
- Verification
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.010000'
protocols:
- x402: {}
usageDiscounts:
windowDays: 30
tiers:
- minimumSettledUnits: 1000
discountPercent: 20
- minimumSettledUnits: 10000
discountPercent: 40
parameters:
- name: X-InboxPolicy-Payer
in: header
required: false
schema:
type: string
pattern: ^0x[0-9a-fA-F]{40}$
description: Optional EVM wallet address for a rolling 30-day usage-rate quote. The eventual x402 authorization.from must match. The signed client automatically echoes the short-lived quote extension.
security:
- x402: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
minLength: 3
description: Address to evaluate.
strictness:
type: string
enum:
- aggressive
- default
- strict
default: default
force_refresh:
type: boolean
default: false
description: Bypass the 72h verification cache.
required:
- email
responses:
'200':
description: Verification result
content:
application/json:
schema:
type: object
properties:
request_id:
type: string
example: vrf_...
action:
type: string
enum:
- send
- send_with_caution
- review
- retry_later
- avoid
reason:
type: string
confidence:
type: integer
minimum: 0
maximum: 100
status:
type: string
enum:
- valid
- invalid
- unknown
- temporary_unavailable
- syntax_error
signals:
type: object
properties:
catch_all:
type: boolean
disposable:
type: boolean
free:
type: boolean
role_account:
type: boolean
from_cache:
type: boolean
cost:
type: object
properties:
credits:
type: integer
billable:
type: boolean
required:
- action
- confidence
- status
'402':
description: Payment Required
/v1/batches/verify:
post:
operationId: createVerifyBatch
summary: Bulk verification — one payment per batch (up to 5,000 emails)
tags:
- Verification
x-payment-info:
price:
mode: dynamic
currency: USD
min: '0.010000'
max: '50.000000'
protocols:
- x402: {}
usageDiscounts:
windowDays: 30
tiers:
- minimumSettledUnits: 1000
discountPercent: 20
- minimumSettledUnits: 10000
discountPercent: 40
parameters:
- name: X-InboxPolicy-Payer
in: header
required: false
schema:
type: string
pattern: ^0x[0-9a-fA-F]{40}$
description: Optional EVM wallet address for a rolling 30-day usage-rate quote. The eventual x402 authorization.from must match. The signed client automatically echoes the short-lived quote extension.
security:
- x402: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
emails:
type: array
items:
type: string
minItems: 1
maxItems: 5000
description: Up to 5000 addresses; total price is count x the per-email rate.
strictness:
type: string
enum:
- aggressive
- default
- strict
default: default
webhook_url:
type: string
format: uri
description: Optional signed completion webhook.
required:
- emails
responses:
'202':
description: Batch queued
content:
application/json:
schema:
type: object
properties:
batch_id:
type: string
example: bat_...
status:
type: string
example: queued
total_items:
type: integer
amount_usd:
type: number
access_token:
type: string
description: Keyless polling credential; send as x-batch-access-token.
required:
- batch_id
- status
- total_items
- access_token
'402':
description: Payment Required
components:
securitySchemes:
x402:
type: apiKey
in: header
name: PAYMENT-SIGNATURE
description: x402 v2 payment signature header for paid operations.