Write an OpenAPI 3.0 description for every service before it is published. Name each operation with an explicit operationId, give every parameter a type and description, and document the error responses as carefully as the success path — consumers spend far more time handling failures than reading the happy path. Keep the specification in the same repository as the service so it is reviewed in the same pull request as the code it describes.
Attach a request and response example to every operation, and use realistic values — a genuine IATA code such as IST, a plausible date, a real cabin class. Examples are the first thing a developer reads and the thing they copy into their client. A placeholder example that returns nothing useful costs your support team more than it saves the author.