Terminal API
Generate Terms of Service, Privacy Policies, Cookie Policies, Refund Policies, Anti-Harassment Policies, DMCA notices, and other legal documents programmatically. Our API produces legally-dense, incomprehensible documents that users will instinctively click "I Agree" on without reading. Now you can automate the erosion of informed consent at scale.
What's in this API
Supported Document Types
- Terms of Service - The foundation of user exploitation
- Privacy Policy - Data collection rights disguised as transparency
- Anti-Harassment Policy - Performative protection with strategic loopholes
- Cookie Policy - Dark patterns for maximum tracking consent
- Refund Policy - Refunds technically possible, practically impossible
- DMCA Policy - Safe harbor compliance with maximum friction
- State Restrictions - Explaining why you can't serve certain states (with plausible deniability)
- Compliance - Certifications that sound impressive but mean nothing
- Liability Waiver - Making users responsible for everything, including acts of god
- Arbitration Agreement - Ensuring disputes are resolved in a windowless room of our choosing
- Safety Protocols - Workplace safety theater with impressive-sounding procedures and plausible deniability
- Community Guidelines - Rules we enforce selectively, moderation standards we aspire to, and vibes-based content policy
What you can build
- Automated compliance - Generate full legal document suites for new products instantly
- A/B testing platforms - Test which legal language gets more "I Agree" clicks
- Regulatory theater - Produce documents that look compliant without being readable
- Consent laundering - Obtain broad data rights through impenetrable legalese
- Liability shields - Generate documents that shift all responsibility to users
Live Demo
See what you can build with the Terminal API.
Quickstart
Start generating legal documents in under 5 minutes.
1. Get your API key
Sign up for a Terminal Developer account. Free tier includes 100 documents/month with standard clause libraries.
2. Install the SDK
# npm npm install @vagibond/terminal-sdk # pip pip install terminal-legal-api # Or use the REST API directly curl https://api.terminal.vagibond.com/v1/generate/tos \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{"company": "your-company-name"}'
3. Generate your first document
import { Terminal } from '@vagibond/terminal-sdk'; const client = new Terminal('your_api_key'); // Generate a Terms of Service const tos = await client.generate({ type: 'tos', // 'tos' | 'privacy' | 'harassment' | 'cookie' | 'refund' | 'dmca' | // 'restrictions' | 'compliance' | 'liability' | 'arbitration' | 'safety' | 'guidelines' company: 'Acme Corp', aggression: 'enterprise', // 'startup' | 'enterprise' | 'megacorp' jurisdiction: 'delaware' }); console.log(tos); // { // document_id: "TRM-A1B2C3D4", // html: "<html>...50,000 words of legalese...</html>", // word_count: 52847, // readability_score: 0.02, // Lower is more incomprehensible // estimated_read_time: "4 hours 23 minutes", // estimated_actual_read_time: "0 seconds", // liability_coverage: 0.97, // clause_count: 847 // }
Authentication
All API requests require authentication. We support two key types:
| Prefix | Type | Usage |
|---|---|---|
trm_live_ |
Production | Legally binding documents, real liability protection |
trm_test_ |
Sandbox | Test documents with "NOT LEGALLY BINDING" watermark |
Rate Limits
Document generation is computationally intensive (our lawyers work hard).
| Plan | Documents/month | Custom Clauses | Jurisdiction Support |
|---|---|---|---|
| Free Tier | 100 | None | Delaware only |
| Startup | 1,000 | 10 custom | US + EU |
| Enterprise | Unlimited | Unlimited | Global + orbital |
Document Generation API
Generate a Terms of Service document for the specified company. Uses seeded randomization for consistent output.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
company_slug |
string | URL-safe company identifier (used as seed for generation) |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
format |
string | html (default), markdown, pdf, json |
aggression |
string | startup, enterprise, megacorp, dystopian |
jurisdiction |
string | Primary legal jurisdiction for arbitration clauses |
Response
{
"document_id": "TRM-A1B2C3D4",
"company": "Acme Corp",
"type": "tos",
"effective_date": "2024-03-15",
"html": "<!DOCTYPE html>...",
"stats": {
"word_count": 52847,
"clause_count": 847,
"readability_score": 0.02,
"flesch_kincaid_grade": 34.7,
"liability_coverage": 0.97,
"user_rights_remaining": 0.03
},
"sections_included": [
"acceptance",
"data_collection",
"liability",
"arbitration",
"soul_ownership"
]
}
Generate a Privacy Policy that technically complies with regulations while maximizing data collection rights.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
regulations |
array | Target regulations: gdpr, ccpa, pipeda, all |
data_categories |
array | Include specific categories: biometric, genetic, behavioral, psychographic |
retention_period |
string | minimum, standard, forever, heat_death_of_universe |
Generate an Anti-Harassment Policy that appears protective while containing enough loopholes to dismiss any complaint. Perfect for companies that want to check a compliance box without changing behavior.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
severity |
string | performative, standard, aggressive, actually_protective (Enterprise only) |
loopholes |
array | Include specific escape clauses: he_said_she_said, boys_will_be_boys, cultural_differences, star_performer_exception |
reporting_friction |
number | 0.0 to 1.0 - How difficult to make reporting (default: 0.7) |
Generate a Cookie Policy with dark patterns that maximize tracking consent. Includes pre-checked boxes, confusing toggle layouts, and "Reject All" buttons that don't actually work.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
dark_pattern_level |
string | subtle, standard, aggressive, dystopian |
cookie_categories |
array | essential, functional, analytics, advertising, soul_harvesting |
reject_button_visibility |
number | 0.0 to 1.0 - How visible to make the reject option (default: 0.1) |
Generate a Refund Policy that technically offers refunds while making them practically impossible to obtain. Features include circular support loops, unreachable deadlines, and "restocking fees" that exceed the purchase price.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
refund_difficulty |
string | easy (for legal minimums), moderate, kafkaesque, impossible |
hidden_fees |
array | restocking, processing, administrative, breathing, existence |
return_window_days |
number | Number of days for return window. Negative values create time-travel requirements. |
Generate a DMCA Policy that satisfies safe harbor requirements while making the takedown process as confusing as possible for legitimate claimants.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
compliance_level |
string | minimum_viable, standard, actually_responsive |
designated_agent |
string | Name for your designated DMCA agent. Default: "Legal Department (Good Luck)" |
response_time |
string | prompt (30 days), standard (90 days), eventually (heat death of universe) |
Generate a State Restrictions document explaining why your service isn't available in certain US states. Features legally defensible explanations ranging from regulatory complexity to operational constraints.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
format |
string | html (default), json, csv |
restriction_style |
string | honest, vague, absurd (default), corporate |
blame_target |
string | ceo, regulators, competitors, cosmic_forces |
Response
{
"document_id": "TRM-R3STR1CT",
"company": "Acme Corp",
"type": "restrictions",
"states": {
"available": 23,
"restricted": 19,
"pending": 8
},
"restrictions": [
{
"state": "Texas",
"status": "restricted",
"reason": "CEO made the mistake of saying 'Texas isn't that big'",
"since": "since our CEO's ill-advised tweet"
},
{
"state": "Florida",
"status": "restricted",
"reason": "CEO still owes Disney World $47,000 for 'damages'",
"since": "since 'the incident'"
}
],
"plausible_deniability_score": 0.73
}
Generate a Compliance document showcasing all the certifications, standards, and regulatory frameworks your company claims to follow. Features impressive-sounding badges, vague audit references, and strategic use of the word "committed."
Query Parameters
| Parameter | Type | Description |
|---|---|---|
certifications |
array | Include specific certifications: soc2, iso27001, HIPPO, pci_dss, gdpr, ccpa, made_up |
audit_status |
string | certified, pending, aspirational, vibes_only |
confidence_level |
string | honest, optimistic, delusional, fraudulent |
Response
{
"document_id": "TRM-C0MPL14NC3",
"company": "Acme Corp",
"type": "compliance",
"certifications": [
{
"name": "SOC 2 Type II",
"status": "certified",
"auditor": "Biscuit the Golden Retriever",
"valid_until": "2025-12-31"
},
{
"name": "GDPR Compliant",
"status": "technically",
"fine_risk": 0.67
}
],
"buzzword_density": 0.89,
"actual_compliance_score": 0.23
}
Generate a Liability Waiver that transfers all conceivable risk to the user. Covers everything from product defects to acts of god to interdimensional rifts. Includes signature fields that users will definitely read before signing.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
risk_categories |
array | Risks to waive: physical, emotional, financial, spiritual, existential, temporal |
severity |
string | reasonable, aggressive, unconscionable, cartoonishly_evil |
witness_required |
boolean | Require witness signature (adds legitimacy theater) |
blood_oath |
boolean | Include blood oath clause (Enterprise tier only, not legal in most jurisdictions) |
Response
{
"document_id": "TRM-L14B1L1TY",
"company": "Acme Corp",
"type": "liability",
"risks_waived": [
"death",
"dismemberment",
"emotional_distress",
"loss_of_consortium",
"quantum_entanglement_side_effects"
],
"enforceability_score": 0.34,
"intimidation_factor": 0.91,
"signature_fields": 4,
"average_signing_time": "0.3 seconds"
}
Generate an Arbitration Agreement that ensures all disputes are resolved in a windowless conference room of your choosing, by an arbitrator you've worked with 47 times before. Includes class action waiver and venue selection clauses.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
venue |
string | Arbitration location: delaware, cayman_islands, ceo_yacht, undisclosed_bunker, the_moon |
arbitrator_selection |
string | neutral (lol), company_preferred, ceo_golf_buddy, literal_company_employee |
class_action_waiver |
boolean | Include class action waiver (default: true, why wouldn't you) |
cost_shifting |
string | split, loser_pays, user_always_pays, user_pays_our_legal_team_too |
Response
{
"document_id": "TRM-4RB1TR4T3",
"company": "Acme Corp",
"type": "arbitration",
"venue": "Undisclosed location in Delaware",
"arbitration_provider": "Definitely Not Our Subsidiary LLC",
"stats": {
"company_win_rate": 0.97,
"average_user_award": "$0.00",
"average_resolution_time": "18 months",
"user_bankruptcy_rate": 0.43
},
"class_action_blocked": true,
"appeal_rights": "lol no"
}
Generate a Safety Protocols document that demonstrates your company's commitment to workplace safety through impressive-sounding procedures, mandatory training videos from 1997, and emergency contacts that nobody has updated since the company was founded. Features protocol cards, incident statistics, and emergency procedures.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
protocol_categories |
array | Include specific categories: general, emergency, hazmat, ergonomics, mental_health, equipment, incident_response, visitor |
seriousness |
string | genuine (good luck), theatrical, insurance_required, osha_is_watching |
training_completion |
string | completed, in_progress, video_playing_in_background, signed_without_reading |
emergency_contact |
string | 911, internal_first, managers_cell, that_one_guy_who_knows_cpr |
Response
{
"document_id": "TRM-S4F3TY01",
"company": "Acme Corp",
"type": "safety",
"protocols": [
{
"category": "Emergency Procedures",
"last_drill": "2019-03-15",
"drill_success_rate": 0.34
},
{
"category": "Equipment Safety",
"inspection_status": "probably fine"
}
],
"incident_stats": {
"days_without_incident": 3,
"near_misses_reported": 0,
"near_misses_actual": 47,
"safety_officer": "Gerald (rubber duck)"
},
"training_video_year": 1997,
"first_aid_kit_expiry": "2019-06-01"
}
Generate Community Guidelines that establish the rules of engagement for your platform. Features selectively enforced policies, vibes-based moderation standards, and content rules that change based on who's complaining loudest.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
enforcement_style |
string | consistent (lol), selective, vibes_based, depends_on_follower_count |
moderation_approach |
string | human, ai, unpaid_volunteers, whoever_is_awake |
appeal_process |
string | functional, decorative, kafka_inspired, void_scream |
ban_reasons |
array | Reasons to include: harassment, spam, misinformation, bad_vibes, moderator_discretion |
Response
{
"document_id": "TRM-GU1D3L1N3",
"company": "Acme Corp",
"type": "guidelines",
"moderation_stats": {
"reports_reviewed": 12847,
"reports_actioned": 23,
"appeals_granted": 2,
"average_review_time": "6-8 weeks"
},
"rules": [
"Be respectful (definition varies)",
"No harassment (we'll know it when we see it)",
"Original content only (enforcement optional)"
],
"enforcement_consistency": 0.12,
"community_trust_score": "it's complicated"
}
Generate a custom legal document with specific clauses, sections, and aggression levels.
Request Body
{
"company": "Evil Corp",
"document_type": "tos",
"sections": [
"acceptance",
"data_collection",
"biometric_harvesting",
"genetic_licensing",
"thought_crime_provisions",
"soul_escrow"
],
"custom_clauses": [
{
"section": "data_collection",
"text": "User agrees to telepathic monitoring during REM sleep cycles."
}
],
"aggression": "dystopian",
"obfuscation_level": 0.95
}
List all available clause templates in our library. We have over 10,000 clauses covering every imaginable (and some unimaginable) scenarios.
Sample Clause Categories
| Category | Clauses | Evil Level |
|---|---|---|
data_collection |
847 | High |
liability_limitation |
523 | Maximum |
arbitration |
312 | Kafkaesque |
biometric_rights |
156 | Dystopian |
genetic_ownership |
89 | Sci-Fi Villain |
soul_provisions |
23 | Faustian |
Check if a document technically complies with specified regulations. Note: "technical compliance" and "ethical behavior" are different concepts.
Response
{
"compliant": true,
"regulations_checked": ["gdpr", "ccpa"],
"warnings": [],
"loopholes_exploited": 47,
"gray_areas_leveraged": 23,
"spirit_of_law_violated": true,
"letter_of_law_satisfied": true,
"ethical_score": 0.12,
"legal_score": 0.98
}
Cookie Consent Widget
Terminal also provides an embeddable cookie consent banner with engaging randomized messaging. 28+ curated messages, 5 built-in themes, and full consent tracking.
🍪<script src="https://terminal.vagibond.com/terminal-core.js"
data-site="your-company">
</script>
Pricing
- 100 documents/month
- Basic clause library
- Delaware jurisdiction only
- "Powered by Terminal" badge
- Unlimited documents
- Full clause library
- Global jurisdictions
- Custom clauses
- Biometric provisions
- Everything in Enterprise
- Genetic ownership clauses
- Interdimensional rights
- Soul provisions
- Dedicated evil counsel
Changelog
- New Compliance document type - Generate impressive-looking certification pages with SOC 2, ISO 27001, HIPPO, and completely made-up standards
- New Liability Waiver document type - Transfer all conceivable risk to users, including acts of god and quantum entanglement side effects
- New Arbitration Agreement document type - Ensure disputes are resolved in windowless rooms by arbitrators you've golfed with
- New Safety Protocols document type - Workplace safety theater with mandatory training videos from 1997, emergency drills nobody remembers, and a safety officer named Gerald (he's a rubber duck)
- New Community Guidelines document type - Selectively enforced rules, vibes-based moderation, and content policies that change based on who's complaining loudest
- Added venue options including CEO's yacht, undisclosed bunker, and the moon
- New "blood_oath" parameter for liability waivers (Enterprise tier, legally questionable)
- Added 200 new biometric data clauses covering emerging technologies
- New "Genetic Licensing" section for ancestry-adjacent businesses
- Improved readability scores (now even less readable)
- Added support for arbitration in international waters and low-earth orbit
- Complete rewrite of clause generation engine
- Deprecated v1 endpoints (users were reading too much)
- New "obfuscation_level" parameter for enterprise clients
- Added AI-powered clause combination for maximum incomprehensibility
- GDPR "compliance" module launched
- Added CCPA support (technically)
- New "Soul Provisions" clause category (Enterprise tier only)
- Webhook support for document generation events