I would like to attempt my first VIM plugin and wondered where there are some good docs on this? From going threw the plugins I use it seems to me that it is a mix of BASH and some sorts of VIM api is this correct?
Yes, Steve Losh wrote a nice introduction for creating vim plugins. He mentions common pitfalls, strategies and further information sources.
AFAIK it is not necessarily a mix of bash script and vim API. A plugin is either written in the programming language Vim script or in another scripting language, e.g. Python. For a plugin written in Python your vim needs to be compiled with Python support - thus, such a plugin is less portable between different vim installations.
Via Vim script you can call external processes, including shell scripts.