Menu

Tier 2 Topic PM.2.05

Platform & API Product Management

Build for builders. API design, developer experience, ecosystem strategy, versioning, and managing products where your users are other engineers.

25% Theory 50% Methods & Templates 25% Examples
Theory

What platform & API product management is and why it matters

Platform and API product management is the discipline of building products whose primary users are other developers and whose primary value is enabling others to build on top of your system. Instead of designing screens for end users, you design contracts — API endpoints, SDKs, webhooks, documentation — that other engineers consume programmatically. Your "UI" is a reference doc, your "onboarding flow" is a quickstart guide, and your "feature request" is a pull request on your SDK.

This discipline matters because platforms create compounding value. Every integration built on your API extends your product's reach without your team writing a line of code. Stripe doesn't process payments for every merchant directly — it provides the API that lets thousands of developers build payment flows into their own products. Twilio doesn't make phone calls — it lets other products make phone calls. The leverage is enormous, but so is the cost of getting it wrong: a breaking API change can destroy trust overnight, and a poorly documented SDK can kill adoption before it starts.

The PM's role in platform products is fundamentally different from consumer or even enterprise PM. You manage a developer community, not a user base. You track integration count and API call volume, not DAU. You worry about backward compatibility and semantic versioning, not pixel-perfect designs. And your most important skill isn't storytelling to executives — it's technical empathy for the engineers who depend on your platform for their livelihood.

Platform types and ecosystem models

Not all platforms are alike, and the PM approach differs by type. An integration platform (Zapier, Workato) connects existing products together — your job is making connections easy and reliable. An infrastructure platform (AWS, Stripe, Twilio) provides building blocks developers compose into products — your job is reliability, performance, and documentation. A marketplace platform (Shopify App Store, Salesforce AppExchange) hosts third-party apps that extend a core product — your job is managing quality, discovery, and revenue sharing. A developer tool platform (GitHub, Vercel) provides workflow tools developers use directly — your job is removing friction from the development experience itself.

Each type has different success metrics. Integration platforms measure connection count and data volume. Infrastructure platforms measure API call volume, latency, and uptime. Marketplace platforms measure app installs, developer revenue, and buyer satisfaction. Developer tool platforms measure active developers, builds per day, and time-to-deploy. Know which type you're building before defining your metrics.

Practical

API design principles

REST API Design Review Core Method

Use when: designing new endpoints or reviewing existing API surface area.

A well-designed REST API follows predictable patterns: resources as nouns (/users, /orders), HTTP methods as verbs (GET, POST, PUT, DELETE), consistent naming conventions (plural nouns, kebab-case), and standard status codes (200, 201, 400, 404, 422, 500). The PM's job isn't writing the OpenAPI spec — it's ensuring the API models the domain correctly. If your mental model of the domain is wrong, the API will be wrong, and every developer who integrates will fight the abstraction.

Review every endpoint against three questions: (1) Does this resource name match how developers think about the domain? (2) Can a developer guess what this endpoint does without reading docs? (3) Is the response shape consistent with every other endpoint? If any answer is no, redesign before shipping.

GraphQL vs. REST Decision Framework Framework

Use when: choosing API paradigm for a new product or major version.

REST works well when your domain has clear, stable resources and consumers need predictable, cacheable responses. GraphQL works well when consumers need flexible queries across related data, when mobile bandwidth matters (no over-fetching), or when your frontend team and backend team want to decouple iteration speed. gRPC works well for internal service-to-service communication where performance matters more than developer ergonomics.

The decision isn't purely technical — it's a product decision. GraphQL shifts complexity to consumers (they write queries). REST shifts complexity to providers (they design endpoints for every use case). Choose based on who you trust more to handle complexity: your team or your developers.

Practical tip

Design your API for the 80% use case, not the power user edge case. If 80% of developers need the same three fields, make those the default response. Put the remaining 47 fields behind query parameters or expansion syntax. Simple defaults, powerful options.

Developer experience (DX)

Time-to-First-API-Call (TTFAC) Optimization Core Method

Use when: evaluating or improving your onboarding funnel.

TTFAC is the single most important DX metric. It measures how long it takes a new developer to go from landing on your docs to successfully making their first API call. Best-in-class platforms achieve this in under 5 minutes. If yours takes 30 minutes or more, you're losing developers at every step.

Map the current TTFAC journey: (1) Find documentation → (2) Create account → (3) Get API key → (4) Install SDK → (5) Write first call → (6) Get successful response. Time each step. The biggest time sinks are usually account creation (too many fields), API key generation (buried in settings), and unclear quickstart guides (too much context, not enough copy-paste code).

Optimize ruthlessly: offer one-click sandbox keys, provide copy-pasteable curl commands on the landing page, auto-detect the developer's language and show the right SDK example, and make error messages actionable ("Invalid API key — generate one at dashboard.example.com/keys").

Documentation Audit Technique

Use when: docs exist but developer satisfaction is low or support tickets are high.

Great API docs have four layers:

  1. Tutorials — guided walkthroughs for common tasks ("Send your first SMS"),.
  2. How-to guides — task-oriented recipes ("Handle webhook retries"),.
  3. Reference — complete endpoint documentation with every parameter,.
  4. Explanation — conceptual overviews of how the system works ("How our event system processes webhooks"). Most API docs only have layer 3 (reference). That's like having a dictionary but no grammar book — technically complete, practically useless for learning.

Audit by tagging every doc page as tutorial, how-to, reference, or explanation. If any layer has fewer than 20% of pages, that's your gap. Then interview 5 developers who recently integrated: what did they struggle with? The overlap between the structural gap and developer pain points is your documentation roadmap.

SDK Strategy Matrix Framework

Use when: deciding which languages to support and how to maintain SDKs.

Start with your developer telemetry: which languages are developers using to call your API? Rank by volume. Then decide your SDK tier: Tier 1 (official, maintained, feature-complete) for your top 2-3 languages, Tier 2 (community-maintained with your review) for the next 3-4, Tier 3 (community-only, listed but not endorsed) for the rest. Never promise official support for more languages than your team can realistically maintain — a broken SDK is worse than no SDK.

Consider auto-generation from your OpenAPI spec (tools like openapi-generator, Stainless, Fern) for Tier 1 SDKs. This ensures SDKs stay in sync with your API automatically. The PM decision is whether to invest in hand-crafted SDKs (better DX, higher maintenance cost) or auto-generated ones (lower maintenance, sometimes awkward ergonomics).

Versioning and backward compatibility

API Versioning Strategy Core Method

Use when: planning your first major version bump or establishing versioning policy.

There are three common approaches: URL versioning (/v1/users, /v2/users) — simple, visible, but creates duplicate endpoints; header versioning (API-Version: 2024-01-15) — clean URLs but less discoverable; date-based versioning (Stripe's approach: Stripe-Version: 2024-06-20) — each API key pins to the version it was created on, and developers opt into upgrades explicitly.

The PM decision isn't which mechanism to use — it's what your compatibility promise is. How long will you support old versions? (Stripe: indefinitely. Most APIs: 12-24 months.) What constitutes a breaking change? (Removing a field: always breaking. Adding a field: usually not. Changing a field type: always breaking. Changing default behavior: breaking.) Document your compatibility policy publicly and hold yourself to it. Breaking changes without warning destroy developer trust faster than any bug.

Deprecation Playbook Technique

Use when: you need to sunset an old API version or endpoint.

Follow this sequence: (1) Announce deprecation 6+ months before sunset, (2) Add deprecation headers to responses (Deprecation: true, Sunset: 2025-06-01), (3) Email all developers using the deprecated endpoint (use your API logs to identify them), (4) Provide a migration guide with before/after code examples, (5) Offer migration support (office hours, dedicated Slack channel), (6) Send final warning 30 days before sunset, (7) Return 410 Gone after sunset date with a link to the migration guide. Never silently break an endpoint. Even if only 12 developers still use it, those 12 developers built their business on your promise.

Common mistake

Shipping "non-breaking" changes that are actually breaking. Adding a required field to a request body is breaking. Changing the order of JSON keys can break brittle parsers. Changing enum values can break switch statements. If you're not sure whether a change is breaking, it is. Test against real integration code, not just your own test suite.

Ecosystem and partner strategy

Developer Funnel Analysis Framework

Use when: measuring ecosystem health and identifying growth bottlenecks.

Map your developer funnel: Awareness (heard of your API) → Registration (created an account) → First call (made a successful API call) → Integration (shipped a production integration) → Expansion (using multiple endpoints or higher volume) → Advocacy (recommending your API to others). Track conversion rates between each stage. The biggest drop usually happens between Registration and First Call — that's your TTFAC problem. The second biggest is between First Call and Integration — that's a documentation or reliability problem.

Partner Tier Framework Framework

Use when: structuring relationships with ecosystem partners.

Create tiers based on mutual value:

  • Self-serve — anyone can integrate using public docs, no relationship needed.
  • Technology partners — companies building maintained integrations, get early access to beta APIs and co-marketing.
  • Strategic partners — deep integrations that drive significant mutual revenue, get dedicated engineering support and joint roadmap planning. Most ecosystems are 90% self-serve, 8% technology, 2% strategic. Don't over-invest in partner management for self-serve developers — invest in documentation and tooling instead.

Platform-specific metrics

Template Platform Health Dashboard
Adoption metrics

Registered developers, Monthly active developers, TTFAC (median), API calls/month, New integrations/month

Quality metrics

API uptime (target: 99.95%+), P50/P95/P99 latency, Error rate by endpoint, SDK crash rate

Engagement metrics

Endpoints used per integration, API calls per developer (growth), Documentation page views, Support ticket volume (should decrease)

Ecosystem metrics

Partner integrations (active), Marketplace app installs, Developer NPS, Community contributions (PRs, forum answers)

Key concept

The most dangerous platform metric is "API calls per month" in isolation. High call volume from one broken retry loop is not the same as high call volume from growing adoption. Always segment: calls from new integrations, calls from existing integrations, error-driven retries, and automated polling. Growth in the first two is healthy. Growth in the last two is a problem.

Examples

Real-world examples

Case study

Stripe: The gold standard of API DX

Stripe's API is often cited as the benchmark for developer experience. Their quickstart gets developers to a successful payment in minutes. Their documentation includes runnable code examples in 7+ languages that update based on your API key. Their versioning system (date-based, pinned to API key) means breaking changes never surprise developers — you upgrade when you're ready. Their error messages include the exact field that failed, why it failed, and a link to the relevant doc page.

Why it works: Stripe treats DX as a product, not a support function. They have dedicated DX engineers who test every API change from the developer's perspective before it ships. Their documentation team has the same authority as their product team — if the docs can't explain a feature clearly, the feature gets redesigned.

Case study

Twilio: Building through developer community

Twilio built its platform business through developer evangelism before "developer relations" was a common title. They invested in community building (meetups, hackathons, content), maintained language-specific SDKs with idiomatic patterns (not just auto-generated wrappers), and created a developer education program (TwilioQuest) that gamified learning their APIs. Their "Build" conference became a developer community event, not just a product launch.

Why it works: Twilio recognized that platform adoption is a community problem, not just a documentation problem. Developers don't just need to know how to use an API — they need to see other developers using it successfully. Social proof drives platform adoption more than any marketing campaign.

Common pitfalls

!

Treating API versioning as an afterthought

Starting without a versioning strategy and then trying to add one after developers have integrated. By that point, any change is a breaking change. Establish your versioning scheme before your first public release, even if v1 is the only version for years.

!

Building for your internal use case only

Designing the API around your own frontend's needs rather than generalizing for external developers. Your frontend might only need three fields from the user endpoint, but external developers need different combinations. Design the public API for the broadest use case, not your narrowest one.

!

Over-promising SDK support

Launching official SDKs in 8 languages when you can only maintain 3. Developers who adopt an unmaintained SDK and hit bugs will trust you less than if you'd never offered an SDK at all. It's better to have 3 excellent SDKs than 8 mediocre ones.

Connected topics in your library

Deep Dive

Appendix

On this page