API(application programming interface)
what should we know before jump to learn about API? and after we know of how to create our own API what can we do with it?
I want to create my own application. for some reason, I found that if we have API we can create program.
Your understanding of the topic is a bit off. API is a very general term, not a specific technology that you can learn or learn about - there are many different APIs out there. When you say you want to "learn an API" it is equivalent of saying to "learn a language" - it definitely requires to state which one.
API is a set of functions that are available to general public, and which can be used to interact with your program. For example - Facebook is an online application. It is working on servers owned by the company, and general public is not allowed to peek into their source code. But Facebook provided an API - list of functions that are supposed to allow developers to write their own programs that can interact with Facebook servers - that's why there are so many Facebook games and other stuff.
Another example - Windows API - again, Windows source code is not available to anyone, and yet, all windows applications seem to share many common characteristics - this is because Microsoft shared Windows API, that gives developers the tools to build applications that work on Windows.
With that in mind - if you learn about Windows API - you will know how to write a fully functional windowed program, with buttons and all that. If you learn Android API or iOS API- you can write an app for your smartphone, that can be used with touch screen. Many APIs are created with specific language in mind - so, if you ask what it takes to learn an API, then the proper answer is - the language the API is designed for (may be C++, Java or Python, or whatever).