I am tasked with designing an API for a car registration service. I don't have all the details yet, but we will receive requests from car dealers via API that my client will then process and forward to the government agency. It's a service to reduce bureaucratic workload for the car dealers.
Those dealers are all using different software to enter car owner data etc. The idea is that those software providers will then create some sort of module to connect to our API.
To me this sounds like a receipe for a lot of headaches. But it also sounds like we might benefit from some sort of API standard, which might be REST?
Both my client and the car dealers are located in the same area. So me could interview them about what their client software might require, if that is of any advantage to the project.
I have implemented a few REST APIs in several projects and the need for support was always rather high, ie. request bodies were not documented in every detail, responses would contain cryptic data sets, custom features or resource properties were needed etc.
What pitfalls would we have to avoid in order to reduce support for API client developers to a minimum in this scenario? Can a question this broad even be answered?
EDIT: replaced "communication" with "support"