Documentation Writing Guidelines
Standards and best practices for writing API and integration documentation.
Table of Contents
Philosophy & Audience
Why These Docs Exist
These guides exist to empower external stakeholders to build integrations and workflows using our API. They should answer the question: "How can I use this to solve my problem?" β helping technical readers connect their systems to ours with confidence.
Target Audiences
Integration Developers
Clear API contracts, examples, and workflow patterns
Building custom integrations, automating processes, connecting systems
Technical Administrators
Understand capabilities and configuration options
Setting up webhooks, managing API keys, configuring integrations
Solutions Architects
Understand how the API fits into their architecture
Planning integrations, evaluating capabilities, designing workflows
Technical Decision-Makers
Understand what's possible and the effort involved
Evaluating feasibility, scoping projects, making build vs. buy decisions
The Golden Rule
If a technically-minded non-engineer can't understand the main content, we've failed.
Deep implementation details are valuable, but they belong in clearly-marked sections β not scattered throughout the document. The goal is empowerment, not overwhelm.
Goals
Enable self-service integration β Readers can build working integrations without contacting support
Answer "how do I accomplish X?" β Practical guidance, not just reference material
Reduce time-to-integration β Clear examples and patterns accelerate implementation
Build confidence β Readers understand what to expect and how to handle edge cases
Support diverse technical backgrounds β Accessible to anyone comfortable with APIs, not just engineers
Inspire possibilities β Show what's achievable so readers can envision their own workflows
Writing Guidelines
Voice & Tone
Conversational but professional β Write like you're explaining to a smart colleague, not writing a textbook
Active voice β "The API returns a response" not "A response is returned by the API"
Direct and concise β Get to the point; respect the reader's time
Empowering β Focus on what the reader can accomplish, not limitations
Empathetic β Anticipate confusion and address it proactively
Language Rules
Use plain English for main content
Use jargon without explaining it first
Define technical terms when first introduced
Assume everyone knows what "webhook payload" means
Explain why something works a certain way
Only explain what happens
Use analogies for complex concepts
Dive straight into implementation details
Write "When you send a POST request..."
Write "When webhookHandler() processes the request..."
Focus on the reader's goal
Focus on internal implementation
Formatting Discipline
Bold text should be used intentionally to make points β not to randomly highlight words.
Less is more. When everything is emphasized, nothing is.
Webhooks do not retry after a successful response.
Webhooks do not retry after a successful response.
The key point: events are delivered in order of creation.
The key point: events are delivered in order of creation.
Use bold for the single most important takeaway in a paragraph.
Use bold for every important-sounding word in a paragraph.
Guidelines:
Bold the conclusion, not every step leading to it
Bold terms being defined, not random nouns
Bold warnings or critical info, not general statements
If a sentence has more than one bold phrase, reconsider β pick the most important one
The Two-Tier Content Model
Every guide should have two tiers of content:
Tier 1: General Content (Everyone)
This is the main body of the document. It should be:
Readable by technical non-engineers β An operations manager or solutions architect can understand it
Outcome-focused β Explains what you can do and why it works this way
Practical language β Uses API and workflow terminology, not internal code concepts
Visually supported β Diagrams show flows and relationships
Example (General Content):
When an event occurs in your system, you can configure a webhook to notify our API automatically. The webhook sends a payload containing the event details, and our system processes it based on your configured rules.
Tier 2: Technical Deep-Dives (Developers)
Technical details are contained in clearly-marked sections. They should be:
Visually distinct β Use a blockquote or callout format
Skippable β Non-developer readers can skip without losing context
Implementation-focused β Code samples, data structures, authentication details
Precise β Include exact field names, data types, and expected formats
Format for Technical Sections:
Glossary Requirement
Every guide must include a Key Terms section near the top that defines domain-specific vocabulary in plain language. This ensures everyone starts with the same understanding.
Example:
Webhook
An automated message sent from one system to another when an event occurs
Payload
The data included in a webhook or API request
Endpoint
A specific URL where your system receives or sends data
Subscription
A configuration that determines which events trigger webhooks
FAQ Structure
FAQs should be written from the integrator's perspective, not the internal engineer's:
"Why isn't my webhook receiving events?"
"Why did webhookDispatcher fail to enqueue?"
"How do I verify a webhook signature?"
"How does HMAC validation work internally?"
"Can I filter which events trigger my webhook?"
"How do I configure event filtering in the database?"
Visual Engagement Standards
Documentation should be scannable and engaging β not a wall of text. Use these formatting patterns consistently across all guides:
1. Emoji Section Headers
Use emojis on major section headers for instant visual recognition:
2. TL;DR Boxes
Add a quick summary at the top of dense sections:
3. Tip / Warning / Info Callouts
Use consistent emoji-prefixed blockquotes throughout:
4. Quick Check Lists in FAQs
Make troubleshooting scannable with checkbox-style lists:
5. Key Takeaway Boxes
End major sections with a highlighted takeaway:
6. Collapsible Technical Details
For deep technical content that most readers can skip (GitHub-flavored Markdown):
7. Use Case Cards
Make use cases visually distinct with summary tables:
Standard Emoji Reference
Use these emojis consistently across all documentation:
π―
Overview sections, key takeaways
π
Key terms / glossary
βοΈ
How it works / mechanics
π‘
Key concepts, tips
π
Use cases, examples
β
FAQ sections
π§
Technical reference, deep-dives
π
TL;DR summaries
β οΈ
Warnings, common mistakes
βΉοΈ
Notes, additional context
β
Checklist items, do's
β
Don'ts, failures
π
Positive use case (success path)
π
Neutral use case (alternative path)
π
Negative use case (error/edge case)
π
Quick check / diagnosis
π
Detailed explanation
π€
Audience indicator (General)
π©βπ»
Audience indicator (Developers)
Document Structure
Each guide follows a consistent structure designed for multiple audiences:
Diagram Standards
Diagrams should be understandable without reading surrounding text.
Requirements:
Use descriptive labels, not technical names
Include a brief caption explaining what the diagram shows
Use ASCII art for compatibility (renders in GitHub, Slack, etc.)
Example:
Tips for ASCII diagrams:
Use box-drawing characters:
β β β β β β β β€ β¬ β΄ βΌUse arrows:
β β β β βΆ β β² βΌorβββΆKeep labels short and clear
Test rendering in GitHub preview
Technical Deep-Dive Format
All technical content should be contained in clearly-marked sections:
This format:
Is visually distinct (blockquote + emoji)
Can be skipped by non-developer readers
Provides working code examples for those implementing integrations
Quality Checklist
Use this checklist when writing or reviewing documentation:
Accessibility (Required)
Technical Depth (Required)
Completeness
Formatting
Contributing
When you find something that could be improved:
Quick fixes: Open a PR with your change
Missing content: Create a GitHub issue tagged
documentationNew guide needed: Follow this guide's structure template
These guidelines help us maintain documentation that empowers technical stakeholders to build integrations and workflows with confidence.
Last updated
