Originally published at https://ninadpathak.com/articles/api-documentation-best-practices-reference-guides-and-working-requests/.
An API portal can list every endpoint and still leave a developer unable to send a request. The missing work is usually distributed across a quickstart, reference, and error guidance, which makes an incomplete path look finished in a navigation tree.
The reader outcome is concrete: someone with a test credential can make one request, inspect its exact contract, and recover from a predictable failure. That path is the unit to design and test before adding more endpoints.
API documentation system: assign each page a job
A quickstart owns first success. It names the access required, gives one complete request, shows an expected response, and links to the next task before the reader must hunt for vocabulary or configuration.
Reference owns exact behavior. The OpenAPI Specification models paths, operations, parameters, request bodies, responses, security, and reusable components, which makes it a strong contract baseline when the source description is reviewed with the API.
| Reader moment | Page that owns it | Evidence that the page works |
|---|---|---|
| I have credentials and need a first response | Quickstart | Complete request and expected response |
| I need the exact field or limit | Reference | Parameter, type, default, constraint, and response schema |
| The request failed | Error or troubleshooting guide | Status, cause, diagnostic detail, recovery, and escalation boundary |
| Product behavior changed | Migration guide or release note | Affected version, required action, and replacement path |
Stripe's API reference gives readers a route through objects, endpoints, parameters, and response data. Its reference strength does not remove the need for a guide that explains which request is worth sending first.
Write one working request before expanding the reference
Choose a request with a safe test credential, a small response, and a result a reader can recognize. A list endpoint is often a useful first move because it proves authentication, base URL, method, and response handling without asking someone to change production data.
curl --request GET \
--url https://api.example.com/v1/projects \
--header "Authorization: Bearer $API_TOKEN"
The guide needs the expected result beside the command. If a successful response contains projects, say so, then link limit, pagination, field definitions, rate behavior, and every response shape to reference where they can stay exact.
A copyable request is not sufficient when its failure state is opaque. Postman describes API documentation as covering endpoints, methods, resources, authentication, parameters, headers, and examples, and each item should remove a decision the reader would otherwise have to guess.
Keep reference and guides connected without merging them
Reference answers questions that have stable names. It should make the endpoint, authentication scheme, parameters, request body, response schema, errors, and limits easy to scan without turning every page into a tutorial.
A guide connects those details into a task. Authentication belongs in both places when the guide explains how to obtain and send credentials while the reference records header format, scope behavior, and error schema.
The strongest objection is that an OpenAPI-generated reference should eliminate this split. Generated reference can remain more complete as endpoints change, yet it cannot decide which object proves a new integration works, whether a retry is safe, or which production choices belong after the first response.
Keep the generated contract close to the source and keep the guide close to the reader's task. That boundary becomes more important as an API gains pagination, webhooks, SDKs, version changes, and different authentication modes.
Link the API documentation route to its next decision
Link from the quickstart to the exact endpoint reference after the reader has a request to inspect. Link from reference to a guide when the reader needs a workflow, and link each recoverable error to a diagnostic path instead of a generic support page.
The documentation template shows the smaller site structure that separates a first task, reference, and troubleshooting. The documentation organization guide shows how those routes become navigation without creating duplicate homes for the same task.
Version changes need their own route because a valid request can become unsafe when its credentials, field names, or response behavior change. Use the product-version documentation guide to keep supported instructions reachable and to give retired routes an honest migration destination.
Build the first request path before filling an API portal with pages. When a developer can get credentials, send one safe request, inspect the contract, and recover from a known failure, the rest of the documentation has a route that can grow without losing its reader.
Built while writing this: the technical writing linter. Free, runs in the browser, no signup.
Top comments (0)