Passive Aggression Detector

📊 Text Analysis 🌭🌭 Medium 5,217 calls

The Passive Aggression Detector uses AI to identify the subtle art of saying something polite that means something devastating. Feed it an email, a Slack message, or a performance review, and it will surface the hidden daggers in phrases like 'per my last email,' 'as previously discussed,' and 'I'm not mad, I'm just disappointed.' The translation field tells you what the person actually meant.

Try It — No Seriously

Passive Aggression Detector.exe
_ ×
The text to analyze for hidden hostility.
Where this was written: email, slack, review, or meeting.
Your relationship to the author: peer, boss, report, or stranger.

Parameters

Parameter Type Required Default Description
content string Required The text to analyze for hidden hostility.
context string Optional "email" Where this was written: email, slack, review, or meeting.
relationship string Optional "peer" Your relationship to the author: peer, boss, report, or stranger.

Examples

curl "https://api.stupidapis.com/passive-aggression/detect?content=As+per+my+last+email&context=email&relationship=boss"
import requests

response = requests.get(
    "https://api.stupidapis.com/passive-aggression/detect",
    params={"content": "As per my last email", "context": "email", "relationship": "boss"}
)
print(response.json())
const response = await fetch(
  "https://api.stupidapis.com/passive-aggression/detect?content=As+per+my+last+email&context=email"
);
const data = await response.json();
console.log(data);

Response Schema

Field Type Description
content_excerpt string The analyzed text
passive_aggression_level string Severity level as a descriptive string
detected_phrases array Specific phrases flagged as passive-aggressive
translation string What they actually meant
recommendation string How to respond (or not)

Example Response

{
  "content_excerpt": "As per my last email",
  "passive_aggression_level": "Thermonuclear — this person has drafted and deleted three versions of this",
  "detected_phrases": [
    "as per my last email"
  ],
  "translation": "I already told you this. I know you didn't read it. We both know you didn't read it. Read it.",
  "recommendation": "Read the last email. Then read it again. Then apologize."
}
...
Clippy