Macro shot of a page of technical documentation under warm directional light, text razor-sharp in foreground with creamy bokeh background
"Returns a paginated list of events."
↓ rewritten
"Call this endpoint to fetch your 20 most recent webhook events, newest first."
Technical Writing Studio

Clarityships soon.

One studio. Sprawling codebases, dense APIs, half-documented platforms — turned into documentation that reads like the product explaining itself.

See the transformation
The Transformation

Documentation is not
decoration.

Peel back each layer. Watch a real API reference transform from a wall of caveats into a developer's first instinct.

The raw state
API Reference / v2.4.1
webhook_events

GET /v2/events?limit={limit}&cursor={cursor}&type={type}&status={status}

Returns a paginated list of events. The events are returned in sorted order, with the most recent events appearing first. The list object contains an array of up to limit events. If additional events exist beyond the first limit events, the list will be truncated. See pagination docs. Note: this endpoint does not return deleted events. The cursor param is optional. If not provided, the first page of results will be returned. type can be one of: payment_intent.created, payment_intent.succeeded, payment_intent.failed, charge.succeeded, charge.failed, charge.refunded, customer.created, customer.deleted, invoice.created, invoice.paid, invoice.payment_failed. (See full list in Appendix D.)

Parameters: limit (integer, optional, default 10, max 100), cursor (string, optional), type (string, optional, see Appendix D), status (string, optional, one of: pending, delivered, failed)
Last updated: 2023-03-12. See also: /v1/events (deprecated)
Restructured, rewritten
Rewritten
GET/v2/events

List webhook events

Call this endpoint to fetch your 20 most recent webhook events, newest first. Use the cursor parameter to page through older events. Filter by type to watch for specific lifecycle events like payment_intent.succeeded.

Query parameters
limitintegerEvents per page. Default: 20. Max: 100.
cursorstringPagination token from the previous response.
typestringFilter to a specific event type. See event types →
Every word earns its place
Editorial layer
Zoomed in — sentence-level decisions

Call this endpoint to fetch your 20 most recent webhook events, newest first.

Lead with the outcome, not the mechanism. "Call this"→ action frame."newest first" → answers the implicit next question.

Use the cursor parameter to page through older events.

Removed 47 words about what cursor is. Replaced with what it does for the reader.

Filter by type to watch for specific lifecycle events like payment_intent.succeeded.

One concrete example outperforms "see Appendix D" every time. Specificity is trust.

Original: 148 words, 1 useful sentence buried in paragraph 3.
Rewritten: 62 words, scannable, actionable from line one.

Who This Is For

Three kinds of
documentation debt.

Each engagement is scoped differently. All of them start with the same question: what does a reader need to understand in the first 90 seconds?

01

Engineering Leads

Series B, 40–120 engineers

Your Confluence has 847 pages. Maybe 60 are accurate. New hires spend their first week lost, and your senior engineers are writing docs instead of shipping.

Confluence sprawl

An internal knowledge system developers actually use — searchable, current, and written at the level your team thinks.

02

DevRel Managers

Launching public-facing docs

You have a product engineers love and a docs site that makes them feel abandoned. The API reference is auto-generated. The guides don't exist yet. Launch is in 6 weeks.

Developer portal

A developer portal with a narrative — quickstart that converts, reference that answers before it's asked, guides that build mental models.

03

OSS Maintainers

Open-source projects

The README hasn't been touched since the initial commit. Issues are 40% "how do I install this." Contributors can't onboard without a DM.

README overhaul

A README that earns the star before they run a single command, and a contributing guide that turns drive-by users into returning collaborators.

One studio. Three to four engagements per quarter. The next intake opens in Q2 2026.

Q2 2026 Intake

Documentation
is the product's
first impression.

Reserve a spot in the next quarterly intake. Three to four engagements only — scoped, unhurried, and built to last.

7spots remaining for Q2 intake

No credit card. No newsletter. One email when the intake opens.