"As a Client Developer, I want to download a machine-readable definition of the API, so I can generate tools or documentation from it."
This is somewhat teased out from T236113: API developer creates automated documentation, which is about automated documentation generation. One way to do that is to use a standard API definition language like OpenAPI or RAML to define the API, and then using off-the-shelf or custom text generators to create the documentation from that definition. But it's not the only way.
There are other benefits to having a machine readable definition of the API, though, which make it a separate user story:
- Automatic building of client-side libraries for the API (although these usually aren't great libraries)
- Automatic documentation in different formats
- Integration with IDEs, linters, or other automated development tools
There are a number of languages used for API descriptions. OpenAPI seems to be the main one used right now, but there might be a case to be made for other languages instead of, or in addition to, OpenAPI.