API foundations
Dev API
A practical starting point for designing the boundary between your application and another system.

Understand the boundary
A developer API is more than a URL that returns JSON. It is a promise about inputs, outputs, permissions, and change. Start with the person integrating the service: what are they trying to do, what information do they already have, and which failures must they handle? Keep the public contract smaller than your internal data model. A database column is not automatically a useful public field.
A practical starting project
Sketch an API for a project notebook. Define a project resource, a list operation, a single-item read, and one controlled update. Write example success and failure responses before choosing a framework. Ask a second developer to explain how they would paginate results and recover from a timeout using only those examples. Any unanswered question is a useful design issue, not a documentation detail to postpone.
Where integrations go wrong
Do not equate a successful HTTP response with a successful business operation. Validation, authorization, duplicate work, and asynchronous completion need distinct outcomes. Keep secrets out of browser code, log correlation identifiers rather than complete credentials, and make examples clearly distinguish public data from privileged operations.
Review before you ship
- What is the smallest useful contract?
- Which operations can be retried safely?
- How will clients discover a breaking change?
Reference for implementation: OpenAPI Specification 3.1.1. Check the official reference for the specific version and environment you plan to use. The exercise above is an engineering starting point, not a live DevAPI.com service.
Find your next starting point.
Explore the ideas, patterns, and tradeoffs behind a better integration.