- Syvizo API Management Platform
- Overview
- Getting Started
- Manage Users and Accesses
- Design APIs
- Publish API
- Collaborate
- Validate APIs
- Manage API Flows
- Flow Management
- API Flow Manager
- Policies
- Traffic Management
- Security
- Transformation
- Extension
- Insights
API Products
The terms "API product" or "API-as-a-product" are commonly used, but their precise meaning can sometimes be ambiguous. As the API economy grows, understanding the concept of API products becomes increasingly important for businesses seeking to leverage it.
An API product is akin to any other product in that it delivers value in various ways. Specifically, in the realm of application programming interfaces (APIs), it signifies the creation and packaging of an API that can provide value to both internal and external organizations. It can involve developing an API product from the ground up or transforming existing APIs into products as part of a new business model driven by digital transformation.
Creating a good API product involves several key considerations and steps. Here are some guidelines to help you create a successful API product:
1. Identify the Purpose and Value: Clearly define the purpose of your API product and the value it will provide to its consumers. Understand the problem you're solving and the specific needs or pain points your API will address. This will guide your development process and ensure your API meets the requirements and expectations of its target audience.
2. Understand Your Target Audience: Identify your target audience and understand their needs, preferences, and technical capabilities. This includes developers, integrators, partners, or other stakeholders who will be using or interacting with your API. Tailor your API design, documentation, and developer experience to meet their requirements and provide value to them.
3. Design with Simplicity and Consistency: Focus on creating a simple, intuitive, and consistent API design. Follow established design principles such as RESTful API conventions, logical resource representations, and standard HTTP methods. Strive for consistency in naming conventions, response formats, error handling, and authentication mechanisms. Clear and concise API documentation is also crucial for developers to understand and utilize your API effectively.
4. Provide Comprehensive Documentation: Create thorough documentation that guides developers through the process of using your API. Include clear explanations, usage examples, code snippets, and reference materials. Consider providing interactive documentation using tools like Swagger or OpenAPI to enhance developer experience and ease of integration.
5. Ensure Developer-Friendly Experience: Make it easy for developers to integrate and work with your API. Provide SDKs (Software Development Kits) or client libraries in popular programming languages to facilitate integration. Offer comprehensive code samples, tutorials, and sample projects to assist developers in getting started quickly. Additionally, provide clear guidelines for authentication, error handling, rate limiting, and versioning.
6. Security and Authentication: Implement robust security measures to protect your API and the data it handles. Utilize secure authentication methods such as OAuth 2.0 or API keys to control access to your API's resources. Employ encryption (HTTPS) for secure data transmission and consider additional security measures like rate limiting, token revocation, or IP whitelisting as needed.
7. Versioning and Compatibility: Plan for API versioning to accommodate future changes and ensure backward compatibility. Use version numbers in your API URLs or headers to manage changes and enable smooth transitions for API consumers. Implement versioning strategies to handle changes in a controlled manner, preventing disruptions for existing integrations while allowing for API enhancements and evolution.
8. Developer Support and Community Engagement: Provide ongoing developer support through forums, email support, or dedicated support channels. Foster a developer community around your API by encouraging feedback, offering a place for discussions, and organizing events or hackathons. Actively engage with developers, listen to their needs, and iterate on your API based on their feedback.
9. Continuous Improvement and Monitoring: Regularly monitor and analyze API usage, performance metrics, and feedback from developers. Use this data to identify areas for improvement, optimize performance, address issues promptly, and enhance the overall API product. Continuously evolve your API based on user needs and market trends.
10. Plan for Scalability: Design your API with scalability in mind to handle increased traffic and growing demand. Consider using scalable infrastructure, caching mechanisms, load balancing, and auto-scaling capabilities to ensure your API can handle varying workloads.
By following these guidelines, you can create a good API product that provides value to its consumers, offers an exceptional developer experience, and meets the needs of your target audience. Regularly gather feedback, iterate on your API, and adapt to evolving requirements to maintain its relevance and effectiveness in the long term.
To manage API products, log in to the platform, select “API Collaborator” module and click on the "Products" button:
This will take you to the API Product management dashboard. All the API products that you have access will be listed with information on your access level, type, current status.
To open the project, click on open button.
To remove the project, click on the delete button
Creating a new API Product
A new project can be created by clicking on button.
This will take you to an empty product.
Enter the field values for the new product:
- Name: Name of the product
- Product class: You might need to have different classes for the same product for different levels of access based on user subscription or user classification. You can provide a name for the class here such as “Gold” or “Premium”. The products will be shown along with available classes to the API developers when they browse for the products to subscribe to. Class is an optional field and you can skip it, it’s a good idea to provide at least a generic name so that you can create another class of the same product if you realise the need of it later.
- Description: Description of the product. We suggest to give a detailed description so that the consumers understand the product well. The details of the API, its paths and methods are covered as part of the API documentation. However this field can be used to provide the business related description such as what data this API can provide or update and its significance in business context. You can also provide useful pointers for the usage.
- Quota: This specifies the limit of usage of the product. Quota can be specified for a duration or window of time such as every minute, hour, day, week or month. So if you are creating a product and you would like API developers to be able to make a request to API assets in that product not more than 30 times in a minute, you can specify 30 in the quota field, 1 in the duration field and select “minute” from the drop down box.
- Approval: When creating a product, there might be some products which provide information and you decide that its OK for API users to be able to subscribe to it without approval. In the other cases, you might be providing data or processing which you would like to ensure that only certain users are able to access. This might be the classification of the data provided or you might want to provide the data or services based on a fee, you can choose to have the product subscription based on approval. When “Approval Required” option is selected, every time a user requests for subscription for that product class, the request will go to the product owner (also referred as administrator). Only when the approval is provided the product will become accessible to the API developer.
- Visibility: You can choose to limit the product to be visible to one of the following scope:
- Self
- Organization: Refers to users organization that has subscribed to Syvizo API Management Platform
- Public: Any user within or outside of the organization
Users who do not have visibility to any API will not be able to make a subscription request and submit for approval. So, if you want the users to be able to subscribe based on approval, please select visibility as “public” and “Approval Required” in the approval type.
Do note that if an API path exposed as part of a product can receive requests from the API developers who have subscribed to the API product. This is not to be confused with access to the API Design Studio project access or API Flow Manager product access. The accesses to assets such as the ones from API Design Studio and others define the access to project assets. The published APIs on the other hand can be called based on users authorisation by means of API Key or any other available authorisation and authentication mechanism.
Endpoints in the products can be searched added. The search pane in the lower part of the screen has search criteria based on API name and endpoints (same as path). The search can be performed based on any of them. The searched endpoints will be displayed in the table below search pane. Select the endpoints and click on the “Add Selected” button below the table to add the endpoints to the product.
The paths that are added can be removed by clicking on the remove button (Red ‘X’) in the “Endpoints in the API Product” table.
You can then save the product by clicking on “Save Product” button.
The endpoints in a product can be modified at any time. However, we strongly recommend to not remove the endpoints after they are published to the product since there might be API users that are using the endpoint and removal of the endpoint will start giving errors when API requests to those endpoints are made.
If you must remove endpoints from a product or product itself, you can analyse the usage of products and endpoints from the Insights Component. There are dashboards that show the endpoints usage and product usage over a period of time.