Before launching APIs, one needs to carefully consider the following information:
- Objective of your API: What are you trying to do with your API? How will you¬†position and sponsor it?
- Legal conditions related to APIs: What are the terms and conditions of API¬†usage? How do you protect yourself from Intellectual Property infringement?
- Business assets to expose through APIs: What business functions should be¬†made available, and at what level of granularity?
- Technical considerations:
- What is involved in the creation of APIs? Usually this will involve the notion¬†of assembly: how will an API fetch or transform information, what is the¬†intent (rationalization) for the API, and what purpose does it serve? Does¬†the API require calling out to other APIs to transform data? Or fetch a¬†special security credential?
- How is the API consumed? How do developers discover the API? Is the¬†API listed in a catalog? What are the access rights for discovering the¬†API? Is the API usually consumed as part of a larger composition of APIs¬†that all provide some distinct functionality? How is the API deployed,¬†versioned, or both? How do we communicate this information to others?¬†Thoughts must be placed into the business definition and also the technical¬†architecture of an API.
To learn more please read the Redbook¬†here.