Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Kawaa API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkawaa.com%2Fkawaa" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkawaa.com%2Fkawaa" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Kawaa API.
Verify a single email address and get a verdict such as valid, risky, catch_all, or unknown, with a job_id to poll if it runs past the request window
Submit a batch of addresses up to the plan's batch size, follow it with GET /v1/jobs/{id}, and cancel a running batch for a refund of unprocessed credits
Verify a CSV, TSV, or TXT file through a presigned upload URL and a process step
Find a person's work address from first_name, last_name, and domain, trusting only results marked verified true
GET STARTED
Check a domain's email authentication with an optional sending_ip, and read past checks for free
Look up opens and clicks your own Kawaa tracking recorded for an address or a list of addresses
Register signed webhooks for job and verification events, read delivery logs, retry a delivery, and rotate the signing secret
Patterns agents use Kawaa API for, with concrete tasks.
★ List Hygiene Through Jentic
An AI agent cleaning a signup list submits the addresses as one Kawaa batch, polls the job with include_results set to false until it completes, then downloads only the invalid rows to remove them. Through Jentic the agent finds these operations by intent and calls them with your key, and you choose whether it may also start paid lookups like the email finder.
Submit POST /v1/verify/batch with the list of emails, poll GET /v1/jobs/{id} with include_results false until the job is completed, then call the download endpoint with format 'csv' and a filter for invalid results
Point-of-Entry Address Checks
A signup form or CRM import checks each address as it arrives. POST /v1/verify returns the verdict inline for 1 credit, or 0.5 when served from cache, and returns status pending with a job_id when verification needs longer, so the caller polls rather than treating the address as bad.
Verify the address 'user@example.com' with POST /v1/verify and, if status is 'pending', poll the returned job_id until a verdict arrives
Finding a Contact's Work Address
A sales researcher knows a prospect's name and company domain but not their email. The email finder works out candidate addresses and checks them with the domain's mail server for 5 credits, and only a result with verified true is a confirmed address. The bulk form handles several people at one domain and needs the Starter plan or higher.
Call POST /v1/find with first_name 'Jane', last_name 'Doe', and domain 'acme.com', and report the email only if verified is true
Sending Domain Health Check
Before a campaign, a marketer wants to know whether their domain's email authentication is in order. The agent runs a deliverability check for the domain, sending an Idempotency-Key so a timed-out retry does not pay twice, and a repeat check within 24 hours is served from cache for free.
Call POST /v1/deliverability/check for domain 'acme.com' with an Idempotency-Key header, then list past deliverability checks to compare with the last result
37 endpoints — the kawaa api verifies email addresses one at a time or in lists, finds a person's work address from their name and company domain, and checks how a domain is set up to send mail.
METHOD
PATH
DESCRIPTION
/v1/verify
Verify one address
/v1/verify/batch
Verify a list of addresses
/v1/jobs/{id}
Get job progress and results
/v1/jobs/{id}/download
Download a job's results
/v1/find
Find a business address
/v1/deliverability/check
Check a domain's email authentication
/v1/webhooks
Register a webhook endpoint
/v1/verify
Verify one address
/v1/verify/batch
Verify a list of addresses
/v1/jobs/{id}
Get job progress and results
/v1/jobs/{id}/download
Download a job's results
/v1/find
Find a business address
/v1/deliverability/check
Check a domain's email authentication
/v1/webhooks
Register a webhook endpoint
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Kawaa by hand means choosing between the X-Api-Key, bearer, and OAuth2 paths, matching key scopes to each operation, sending Idempotency-Key headers so retries do not pay twice, and polling asynchronous jobs. Through Jentic you install once, import the Kawaa API from the API Directory, store the key once, and your agent calls it.
Permission scoping
Kawaa puts the job id, domain, and webhook id in the URL path (/v1/jobs/{id}, /v1/domain/{domain}), so a rule can pin your agent to one job's results, while verification takes the address in the request body, so there rules bound which operations it may call. You choose those operations, so paid or sensitive ones like the email finder or API key revocation are not included unless you add them.
Credential isolation
Your Kawaa API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'verify an email address' or 'find a work email', and Jentic returns the matching Kawaa operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Kawaa API through Jentic.
What authentication does the Kawaa API use?
Per its OpenAPI spec, the Kawaa API accepts an API key in ev_ format either in the X-Api-Key header (apiKey scheme) or as Authorization: Bearer (bearer scheme), and an OAuth2 access token in evo_ format for apps acting for a person, which is always scoped and accepted only by operations that list it. Keys can be limited to scopes such as verification:write or webhooks:read. Only GET /health needs no credential. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time.
Is there a Kawaa MCP server?
Yes - Kawaa offers an official MCP server at api.kawaa.com/mcp. You can also connect the REST API directly through Jentic: your agent gets the full 37-endpoint surface from the spec without loading another server's tool definitions into its context, your key is injected at call time by your self-hosted instance instead of living in an MCP config, and your rules decide which operations the agent may call.
Can I limit what my agent is allowed to do with the Kawaa API?
Yes. Write a rule that allows only single verification, batch submission, job reads, and result downloads, so a list-cleaning agent spends credits on verification alone and cannot run the 5-credit finder, the 10-credit domain lookup, or touch API keys and webhooks. Every call it makes is logged, and GET /v1/usage/credits/transactions shows what it spent.
How many credits does a Kawaa verification cost?
Per the spec, a single verification charges 1 credit, or 0.5 when served from cache, and unknown, risky, or catch_all results always cost 1. Batches charge about 1 credit per address when the job is accepted, the email finder charges 5, a fresh deliverability check or uncached domain lookup charges 10, and cancelling a batch refunds the unprocessed addresses.
How large can a Kawaa batch be?
Per the spec, POST /v1/verify/batch accepts up to the plan's batch size in unique, well-formed addresses: Free 100, Starter 1,000, Professional and Business 5,000, and Enterprise 10,000. Larger lists go through POST /v1/verify/file, which takes CSV, TSV, or TXT files up to 50 MB.
What are the rate limits for the Kawaa API?
The OpenAPI spec does not publish fixed numbers. GET /v1/usage reports the per-minute limit applied to your credential in its rate_limit field, so your agent can read its own ceiling; see https://kawaa.com/docs/ for plan details.
How do I verify an email list with the Kawaa API through Jentic?
Search Jentic for an intent like 'verify a list of email addresses', import the Kawaa API from the API Directory, and store your API key. Your agent calls POST /v1/verify/batch with the emails, optionally a webhook_url, then polls GET /v1/jobs/{id} and downloads results with GET /v1/jobs/{id}/download. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Verify one email address or a whole list, find a person's work address from name and domain, check a domain's mail authentication, and track jobs, credits, and webhooks on a Kawaa account.
Use for: Check whether this email address is valid before I send, Verify a list of 2,000 signup emails, Find the work email for Jane Doe at acme.com, Get the results of my verification job as CSV
Not supported: Does not send email campaigns, host mailboxes, or manage CRM contacts. Use for verifying and finding email addresses and checking domain mail authentication only.
The Kawaa API verifies email addresses one at a time or in lists, finds a person's work address from their name and company domain, and checks how a domain is set up to send mail. A single verification returns a verdict such as valid, risky, catch_all, or unknown, while batch and file jobs (CSV, TSV, or TXT up to 50 MB) run asynchronously with progress, paged results, CSV or JSON downloads, and cancellation with a credit refund. It also returns engagement history recorded by your own Kawaa tracking, runs domain email authentication checks, and exposes credits, usage, API keys, plans, signed webhooks with delivery logs and retries, and export schedules. Every paid call is metered in credits, from 0.25 per address for batch activity lookups to 10 for a fresh domain check.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>