Not only is it a gigantic waste of time to hand-write API documentation and consumers based on that documentation, but human error inevitably creeps in. I've just spent about six hours writing DTOs for Order and its related types. That should have been done in five seconds. I made some assumptions about scalar types and nullability, so I probably made some mistakes. There are mistakes in the documentation, too. For example, the field descriptions for line_items describe several fields that aren't in the example JSON. Which is correct, the JSON or the descriptions? I can't tell without testing. Auto-generating an OpenAPI spec would save you the trouble of maintaining the documentation.