API Request access
Overview Reference
Early access

Check what your agent is about to say.

VerbaPulse reads a draft before it reaches the customer and returns the sentences that create legal exposure: a commitment your company has to honour, an assurance you cannot support, a confidential detail, a disclosure that should not be made. One HTTP call, a few seconds, no message content stored.

Your bot writes, your company answers for it

In 2024 a tribunal ordered an airline to compensate a passenger because its chatbot gave him the wrong answer about bereavement fares. The airline argued it should not be responsible for what the bot said. The tribunal disagreed (Moffatt v. Air Canada, 2024 BCCRT 149).

The amount was small. The principle is the part that scales. An agent answering thousands of messages a day makes commitments, describes products, explains delays and responds to complaints at a volume no review queue absorbs, and a sentence that creates exposure when a person writes it creates the same exposure when a model writes it.

Where the check sits

The reply still leaves your system. The check is one call on the way out, and what comes back is a list of findings, not a rewritten message. Your code decides what to do with them, which is what keeps the decision, and the record of it, on your side.

Where the VerbaPulse check sits in an outbound reply Your chatbot, agent or support desk drafts a reply. Before it sends, the draft goes to VerbaPulse in one call. Findings come back in a few seconds. Your system then sends the reply it decides on to the customer. YOUR SYSTEM Chatbot AI agent Support desk the reply it is about to send the draft, before anything sends POST /analyze VerbaPulse EU · no message text stored the findings, 2 to 5 seconds WHAT COMES BACK, AND WHAT YOUR CODE DOES WITH IT 200 · ok · segments: [] Nothing to flag. Your system sends the reply exactly as it wrote it. 200 · ok · segments: [ … ] Each finding carries the offsets, the reason and safer wording. You replace the phrase, or hold it for a person. unavailable · 429 · 5xx Not checked. We never return a clean result we did not verify, and your integration should not invent one.
One call on the outbound path. The draft is read in the EU and the message text is not kept; what we store is the event behind your reporting.

What the check covers

Binding commitments

Prices, periods, guarantees and confirmations that read as a concluded bargain.

Misleading assurance

Reassurance a firm cannot support, and answers that omit the condition that matters.

Confidentiality

Detail that belongs to another client, another matter, or an agreement under NDA.

Financial crime

Wording that tips off the subject of a report or explains a delay it should not explain.

Competition law

Pricing and market language that reads as coordination or as a restriction on a reseller.

Your own rules

Policy wording you upload, applied to API keys the same way it applies to the add-in.

Measured in Turkish and English.

One endpoint

Send the draft. Get the findings, with character offsets so you can highlight or replace the phrase in place.

POST /analyzerequest
POST https://verbapulse.com/analyze
Content-Type: application/json

{
  "text": "As agreed, we will match any competitor price for the next three years.",
  "org_api_key": "<your key>",
  "platform": "support-agent"
}
200 OKresponse, real output
{
  "status": "ok",
  "session_id": "dd1597af-fca5-4c11-9176-ec3a4e0755dc",
  "segments": [
    {
      "text": "we will match any competitor price for the next three years",
      "start": 11,
      "end": 70,
      "risk_level": "medium",
      "risk_type": "compliance",
      "explanation": "Firm long-term pricing commitment, confirm approval and contractual alignment",
      "suggested_sentence": "we can discuss matching competitor pricing as part of our agreement",
      "fix_type": "sentence"
    }
  ]
}

An empty segments array means the draft is clean. When the check cannot complete, the response carries "status": "unavailable" with an empty array. That means not checked. The product never returns a clean result it did not verify, and your integration should not either.

Practical numbers

Typical latency2 to 5 seconds for a short draft
Maximum draft50,000 characters
Default rate limit600 requests per minute per key, higher on request
Processing regionEU (Sweden), or your own infrastructure
LanguagesTurkish and English measured

A check adds seconds to an answer, so most teams call it in parallel with their own generation step and hold the reply only when a finding comes back.

Where the text goes

Processed, not retained

The draft is processed in the EU and the message content is not stored. What we keep is the event: the rule that fired, the outcome, the department if you send one, and the time. That is what produces the reporting, and it holds no message text.

Or it never leaves

If the text cannot leave your network, the same engine runs inside your own infrastructure with the same API. See Enterprise.

Which model runs the check

Every check runs on a frontier model in our EU deployment. That is what a key gets you today, and it is the accuracy the rest of this page describes.

We also train our own model for this task. It runs in on-prem deployments, where the text cannot leave the customer's network, and we are working it toward a hosted tier that costs less per check. When that tier exists you will select it per key. Nothing on your account changes model without you asking for it.

What this is not

It reads the sentence your system is about to send and reports legal and compliance exposure. It is not a jailbreak defence, it does not stop a determined attacker, and it does not scan for data patterns such as card numbers, which is what a DLP product does well. Teams that run both use them for different jobs.

Access

Early access, while usage metering and the dedicated-capacity tier are completed. We onboard a limited number of teams at a time.

Pricing is quoted with access. Tell us the volume you expect and the region you need.

API use is governed by section 6 of the terms, which covers keys, what you may do with the output, and evaluation access.