How do I know if I’m abstracting a graphics APIs too tightly?

When making a Renderer that supports multiple graphics apis, you would tipically want to abstract your code in some sort of low level library that is tied with some graphics API like OpenGL, Vulkan, D3D11 and so on;

They work very differently from each other, so making a good generic API becomes quite essential. I’ve read that you would tipically want to use a back-end that implements the basics for each graphics api you want to support and a front-end which is what the programmer uses to draw things on the screen.

How do i know if I’m making too much of a tight abstraction for every API I want to support?