API documentation
Every ElevatePoint feature is available over a JSON API. Create a key in your workspace under Developer API (create a free account first).
Authentication
Send your key as a bearer token. Base URL: https://elevatepoint.tech/api
Authorization: Bearer ep_YOUR_KEY Content-Type: application/json
Endpoints
| Method · path | Body | Returns |
|---|---|---|
| POST /check | email | provider, verification (valid, catch_all, invalid, risky, unknown), route, mx |
| POST /find-email | first_name, last_name, domain | result, status (verified or catch-all best guess), patterns tried |
| POST /research | website | fact sheet: what_they_sell, who_they_sell_to, named_clients_or_projects, locations, notable_facts, likely_buyer_titles |
| POST /write | website, first_name | subject, body, grounding (claims supported), style check |
| POST /followups | subject, body | two follow-ups (day 3 and day 7) |
| POST /copy-score | subject, body | score 0-100, spam words, clichés, fixes |
| POST /reply-assist | reply, original (optional) | intent, confidence, summary, next_step, draft |
| POST /domain-health | domain | score, SPF, DKIM selectors, DMARC policy, IP and domain blocklists, tips |
| POST /copilot | messages (chat history) | reply |
| POST /jobs | multipart CSV file (email, website, first_name) | job id; then GET /jobs/{id} or GET /jobs/{id}/csv |
Example: route check
curl -X POST https://elevatepoint.tech/api/check \
-H "Authorization: Bearer ep_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"jane@acme.com"}'
{"email":"jane@acme.com","provider":"microsoft365","verify":"valid",
"route":"Pool A · Microsoft-optimised senders","mx":["acme-com.mail.protection.outlook.com"]}
Example: write an email
curl -X POST https://elevatepoint.tech/api/write \
-H "Authorization: Bearer ep_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"website":"acme.com","first_name":"Jane"}'
Rate limits
API calls share your plan's daily limits (reset at midnight UTC). Free plan per day: 25 route checks, 10 research/writing actions, 10 email finds, 20 domain scans and 100 pipeline leads. Over the limit the API returns 429.
Errors
Errors return a JSON body {"detail": "..."} with status 400 (bad input), 401 (missing or invalid key), 429 (limit reached) or 502 (AI provider busy, retry shortly).