Walking Through API Design as a PM: Consumers, Resources, Contracts and Versioning

Quick Overview

A technical product manager prompt asking how the candidate would design an API. It tests identifying developer consumers and use cases, modeling resources, choosing an interface style, defining errors, pagination, idempotency, authentication and rate limits, and planning versioning, documentation and adoption metrics.

Walking Through API Design as a PM: Consumers, Resources, Contracts and Versioning

Company: Google

Role: Product Manager

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Other

In a product manager interview you are asked how you would design an API. Walk through the approach you would take and the main decisions you would make along the way, explaining why. You may illustrate with an example API of your choosing. ```hint Start from the caller Before naming any endpoints, picture the developer who will integrate with this API and the handful of tasks they need to complete. ``` ### Clarifying Questions - Who will call it: outside developers on a public API, a few partners, or our own internal services? The answer changes the stability promises, authentication and documentation required. - Should I focus on the product manager's part of the work (use cases, developer experience, launch) or also cover the technical choices the engineers would make? - Is there a specific product or use case in mind, or should I choose an example? - Do existing platform conventions or a style guide already dictate the interface style? ### What a Strong Answer Covers - Identifying the API's consumers and their top use cases before designing endpoints, and defining what success means for those developers. - Modeling resources and operations, and choosing an interface style (resource-oriented HTTP, RPC, a query language, event callbacks) with reasons. - Contract details: naming, request and response shapes, error format, pagination, safe retries without duplicate effects, authentication and rate limits. - Evolution: versioning, backward compatibility and deprecation. - Developer experience and launch: documentation, SDKs, a test environment, and adoption metrics. ### Follow-up Questions - A partner's request timed out, they retried, and two orders were created. What in the API design prevents that? - Thousands of integrations depend on a field you need to rename. How do you roll the change out? - Which metrics would tell you the API is succeeding with developers?

Overview: A technical product manager prompt asking how the candidate would design an API. It tests identifying developer consumers and use cases, modeling resources, choosing an interface style, defining errors, pagination, idempotency, authentication and rate limits, and planning versioning, documentation and adoption metrics.

Google logo
Google
Feb 24, 2025
mediumProduct ManagerOtherSoftware Engineering Fundamentals
0
0

In a product manager interview you are asked how you would design an API. Walk through the approach you would take and the main decisions you would make along the way, explaining why. You may illustrate with an example API of your choosing.

Clarifying Questions Guidance

  • Who will call it: outside developers on a public API, a few partners, or our own internal services? The answer changes the stability promises, authentication and documentation required.
  • Should I focus on the product manager's part of the work (use cases, developer experience, launch) or also cover the technical choices the engineers would make?
  • Is there a specific product or use case in mind, or should I choose an example?
  • Do existing platform conventions or a style guide already dictate the interface style?

What a Strong Answer Covers Guidance

  • Identifying the API's consumers and their top use cases before designing endpoints, and defining what success means for those developers.
  • Modeling resources and operations, and choosing an interface style (resource-oriented HTTP, RPC, a query language, event callbacks) with reasons.
  • Contract details: naming, request and response shapes, error format, pagination, safe retries without duplicate effects, authentication and rate limits.
  • Evolution: versioning, backward compatibility and deprecation.
  • Developer experience and launch: documentation, SDKs, a test environment, and adoption metrics.

Follow-up Questions Guidance

  • A partner's request timed out, they retried, and two orders were created. What in the API design prevents that?
  • Thousands of integrations depend on a field you need to rename. How do you roll the change out?
  • Which metrics would tell you the API is succeeding with developers?