Every number.
The whole picture.
Understand which audiences reply, when recipients are active and where delivery breaks down. Investigate failures and send the same data to your own stack.
Opt-in
Analytics
See what gets a response.
Enable Analytics to compare audiences and message formats by reads, replies and response time. Find where conversations stall, then check recipient activity and call outcomes.
Logs
Search. Open. Investigate.
Find API and webhook errors, open the record and follow the number’s context before and after the failure.
BanSafe
Health, with the evidence.
See the Health estimate, the factors behind each deduction and which measurements are fresh. Follow the account’s devices alongside it.
Every Linked Devices number gets a Health score from our AI model. Coverage shows what was measured; stale or missing signals stay explicit.
Explore BanSafeYour data stack
Query. Collect. Route.
Put the same business signals to work in your stack: query aggregates through the API, monitor metrics in a collector and route records to your own services.
In your code
Analytics in your own code.
Read the numbers behind the Console from the SDK, the CLI or plain HTTP, with a team or project key.
import { Client } from "@polymorfa/sdk";
// Pass your API key from wherever you keep secrets.
const platform = new Client({
credential: { type: "organizationApiKey", value: apiKey },
});
const { data } = await platform.analytics.get({
projectId: "PROJECT_ID",
start: Date.now() - 24 * 3_600_000,
end: Date.now(),
});
data.summary?.engagement.replyRate; // 0.6
data.summary?.calls.answerRate;API surface
The Observability API.
Reads need sessions:read and the event stream needs events:listen. The TypeScript SDK wraps every route below.
Analytics
- GET
/Analytics for every number in the teamplatform/ analytics - GET
/Analytics for one projectplatform/ projects/ {projectId}/ analytics - GET
/One campaign's funnel and timingplatform/ campaigns/ {campaignId}/ analytics
Metrics
- GET
/Team metrics for your collectorplatform/ analytics/ metrics - GET
/Metrics for one projectplatform/ projects/ {projectId}/ analytics/ metrics
Deliveries and audit
- GET
/Webhook deliveries and their statusplatform/ webhook-deliveries - GET
/Every attempt for one deliveryplatform/ webhook-deliveries/ {deliveryId}/ attempts - POST
/Retry a deliveryplatform/ webhook-deliveries/ {deliveryId}/ retry - GET
/Who changed what in the teamplatform/ audit - GET
/Live events over SSEplatform/ projects/ {projectId}/ events/ stream
Start with a free number
Your first real number is free. Add more numbers on Pay-As-You-Go.