What is the reason for predefined routes?

I am just curious what the design thinking is behind having the clients use predefined routes rather than the explicit [Route] attributes. Or, maybe said another way - if we should be using the predefined routes for bespoke clients, why have a Route attribute at all?

The predefined routes are a endpoint that all clients can rely on to be able call APIs using a consistent convention, it’s required for any of the Service Clients to be able to work and what makes it possible to invoke APIs with just a Request DTO.

User defined routes are used to make APIs available from preferred custom RESTful HTTP endpoints which can be invoked using hard coded routes, their definitions are optional.

Ok thank you - makes sense - and then is the embedded openapi/swagger endpoint considered custom now then in deference to /ui then? (it only exposes custom routes and does not display the prebuilt ones as far as I can tell)

Yeah it provides Swagger spec and UI around user-defined routes.