"What are some warning signs from a developer's perspective that your API might be overengineered?"
No use cases.
If you can't run through simple "to do this" scenarios, you're not designing a useful API with specific use cases in mind.
Your documentation should be those use cases.
Features that don't directly address the use cases are probably over-engineering.