close

Azure API Management Pricing And Features: API Management Platform

Posted by Errin O'Connor on Mar, 29, 2022 08:03

API Management (APIM) is a means to build reliable and modern API gateways for current back-end services.API Management enables companies to publish APIs to external, partner, and internal developers, allowing their data and applications to reach their full potential. In this blog post, we will go over Azure API Management pricing and features in detail.

Explanation of Azure API Management Pricing & Features: The Organizational Usage Perspective

Organizations all around the world are attempting to expand their operations as a digital platform, generating new channels, acquiring new customers, and enhancing existing client involvement. Through developer engagement, business insights, analytics, security, and protection, API Management provides the fundamental capabilities to enable a successful API program. Users can use Azure API Management to launch a full-fledged API program based on any backend.

Administrators create APIs in order to use API Management. Each API is made up of one or more operations and can be used with one or more products. To utilize an API, users must first subscribe to a product that includes the API, after which they can call the API’s operation, subject to any applicable usage policies

  • Common examples include limiting access to mobile infrastructure with API keys, reducing DOS attacks with throttling, and adopting advanced security measures like JWT token validation.
  • Creating an API facade to separate from internal implementations that aren’t suitable for partner consumption and allowing easy onboarding through the developer portal to facilitate ISV partner ecosystems.
  • Managing an internal API program that provides a centralized area for the organization to communicate about API availability and updates, with access controlled by organizational accounts.
Azzure API benefits

Azure API Management Pricing Structure

 ConsumptionDeveloperBasicStandardPremiumIsolated Preview
PurposeLightweight and serverless version of API Management service, billed per executionNon-production use cases and evaluationsEntry-level production use casesMedium-volume production use casesHigh-volume or enterprise production use casesEnterprise production use cases requiring a high degree of isolation
Price (per unit)0-1 million calls per subscription – Included1+ million calls – $0.042 per 10,000 calls$0.07/hour$0.21/hour$0.95/hour$3.83/hour. The unit cost of incremental units (>1) charged at 50% of the first unit purchasedTBA7
Cache (per unit)External only10 MB50 MB1 GB5 GB5 GB
Scale-out (units)N/A (automatic scaling)12412 per region
(call support to add more)
12 per region
(call support to add more)
SLA99.95%No99.95%99.95%99.99%199.99%
IsolationSharedPrivatePrivatePrivatePrivatePrivate
Usage limitsLimits applyNoNoNoNoNo
Cache, external3YesYesYesYesYesYes
Developer portalNoYesYesYesYesYes
Multiple custom domain names4NoYesNoNoYesYes
Azure Active Directory integration in developer portalNoYesNoYesYesYes
Availability Zone supportNoNoNoNoYesNo
Virtual Network supportNoYesNoNoYesYes
Multi-region deploymentNoNoNoNoYesYes
Self-hosted gatewayNoYes5NoNoYes7Yes
Estimated maximum throughput2
(per unit)
N/A (automatic scaling)500 requests/sec1,000 requests/sec2,500 requests/sec4,000 requests/sec4,000 requests/sec
Compute isolationNoNoNoNoNoYes

Self-hosted gateway

Under the Azure API Management Pricing model, it now supports hybrid and multi-cloud settings with the self-hosted gateway capability. The self-hosted gateway, which can be deployed on Kubernetes or anywhere with Azure Arc, provides a uniform and coherent experience.

Price$1.37 per hour per gateway deployment

Feature-based comparison of the Azure API Management tiers

FeatureConsumptionDeveloperBasicStandardPremium
Azure AD integration1NoYesNoYesYes
Virtual Network (VNet) supportNoYesNoNoYes
Multi-region deploymentNoNoNoNoYes
Availability zonesNoNoNoNoYes
Multiple custom domain namesNoYesNoNoYes
Developer portal2NoYesYesYesYes
Built-in cacheNoYesYesYesYes
Built-in analyticsNoYesYesYesYes
Self-hosted gatewayNoYesNoNoYes
TLS SettingsYesYesYesYesYes
External CacheYesYesYesYesYes
Client certificate authenticationYesYesYesYesYes
Backup and RestoreNoYesYesYesYes
Management over GITNoYesYesYesYes
Direct management APINoYesYesYesYes
Azure Monitor logs and metricsNoYesYesYesYes
Static IPNoYesYesYesYes
Web socket APIsNoYesYesYesYes
GraphQL API (preview)YesYesYesYesYes

Getting started with Azure API Management

Configuring Azure API Management and importing an API

Importing API

Begin with creating a new Azure API Management instance and connect it to an API.

  1. Go to the Azure site and look for API Management under “Add a resource.”
  2. Select API Management from the search results and click Create.
  3. The API Management Creation blade appears.
  4. To deploy the new API Management instance, click Create. This will take some time to finish.

You can look at your API Management instance once the deployment is complete. When it’s first installed, it’s just an empty gateway that doesn’t do anything. Here is how you can protect it via an API:

  1. Select APIs from the drop-down menu.
  2. Select Add API.
  3. Decide on the Open API specification.
  4. Make sure you’ve chosen one or more products to link to this API. This is required in order to publish the API. 
  5. To add and publish the API, click Create. 

Users may now put their API to test. 

  1. Select the newly added API from the APIs menu.
  2. Select the Test tab.
  3. To test, choose the GetSessions method.
  4. Click Send after leaving all of the information intact.

Testing the API in the Azure portal

When users test the API through the Azure portal, they may note that they have the option of selecting a subscription key that is provided along with the test. This key allows users to utilize the API because it is protected by default and cannot be used without authorization.

Users can now test the API through the developer portal. The developer portal is a website where API users can test the API and obtain documentation about it.

Testing the API in the developer portal

Users can begin to monetize your API now that it has been exposed and protected by API Management.

Users can sign up to use an API in the developer portal

Moreover, under this Azure API Management pricing structure, the products determine which capabilities you expose and how much they can be used. For example, the starting product has some regulations in place that limit its use. It can only make 5 calls every 60 seconds. And there’s a quota: the user can only make 100 calls in a week. Users can also use policies to limit the quantity of data that comes in and out, as well as to convert XML to JSON.

Set policies on a product in the Azure portal

Users can apply policies to a specific user or subscription when creating policies for a product.

After you have users who utilize your APIs, you can track how they use them.

Understanding unified API management

API Management

The process of designing, releasing, documenting, and analyzing APIs in a safe environment is known as API management. An API management system allows a company to ensure that both the public and internal APIs it develops are usable and safe. API administration solutions on the market might include a wide range of functionality; nevertheless, the bulk of API management solutions enable customers to do the following:

API design – API management solutions enable users, ranging from developers to partners, to create, publish, and deploy APIs, as well as track documentation, security policies, descriptions, usage limitations, runtime capabilities, and other pertinent data.

API gateway – API management solutions can also operate as an API gateway, implementing appropriate API security regulations and requests, as well as assuring authentication and confidentiality, for all APIs.

API store – API management solutions allow users to retain their APIs in a store or catalog, which they can then disclose to different stakeholders. This API “store” thus functions as an API marketplace, where users can subscribe to APIs, get help from other users and the community.

API analytics – API management enables users to track API usage, load, audit trails, historical data, as well as other metrics to better understand the state and effectiveness of APIs.

Managing APIs From a Browser or Mobile App

Using RESTful services, SOAP web service, JSON Web Service, etc.

There are two types of web services:

  1. SOAP Web Services
  2. REST Web Services

SOAP Web Services 

SOAP (Simple Object Access Protocol) is an XML-based protocol. The most significant benefit of adopting the SOAP Web Service is its inherent security. The acronym SOAP refers to the Simple Object Access Protocol.

SOAP is a protocol that allows Web services messages to be sent over the Internet using the HTTP protocol. Usually, the messages are in XML format.

REST Web Services

Representational State Transfer is the acronym for REST. REST is a style of software design, not a collection of standards or regulations. RESTful applications are those that adhere to this architecture.

Unlike SOAP, which focuses on activities, REST is primarily concerned with resources. 

Integrating Third-Party Applications into Your Application

Security and protection

Third-party API integration occurs when a company employs a third-party API to increase integration with another business software or web service.

  • Step 1. Hire an API Integration Expert to help you integrate an API into your app.
  • Step 2. Create Your Project Using the API Provider System: Create Your Project Using The API Provider System
  • Step 3. Step 3: Obtains the API Key and the Authorization Token

Following registration, the developer receives an API key that assists the API provider system in identifying the authentication token and calling project, allowing the API provider system to verify that the calling user has permission to complete this request.

Step 4. Integrate API Framework for The App: The developer then uses dependency managers to install the chosen SDK with APIs into an application build environment.

Step 5. Work with API Request Instances and Methods. The app developer adds additional functionality to the app utilizing the dependencies added in the previous phase, allowing it to access new API-integrated capabilities.

Creating Custom Authentication Methods

  • Start with creating a new service from the Azure Portal Menu
  • Enter settings in the API Management service
  • The service instance will take a few minutes to create. Users will be able to add APIs and apply policies to them once it’s ready.
  • Once the API Management service is up and running, you can check its status online.
  • Users must apply custom authentication if they don’t want the public to view their APIs. They should add this API to Azure API management and create a specific authentication policy.
  • Users need to go to the Inbound Processing section of the orders endpoint and update the policy there.
  • To use custom auth to authenticate the request, users are going to require an external authorizer’s URL, where users must first redirect the request and check the response code (200 OK) to ensure that the request is authenticated.
  • Users must forward the request to the authentication server after validating the request header. Following that, users must then save the response to the request before extracting the response to obtain the status code of the authorizer’s response.
  • The status code will be set to 200 OK if authorization was successful.

That’s all, you have created your custom authentication method.

Conclusion:

In conclusion, the practical elements under the Azure API Management Pricing model, that users should be aware of are listed above. It comes with a variety of pricing alternatives to meet the organization’s budgeting demands.

Users can also design their own developer’s portal by modifying it with relevant content and a professional look and feel. As a result, Azure API Management is the perfect solution to adopt for building modern gateways.

[gravityforms id=53 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_53' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Azure IoT 11-Scenarios</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_53' action='/azure-api-management-pricing-and-features-api-management-platform/' > <div class='gform_body gform-body'><ul id='gform_fields_53' class='gform_fields top_label form_sublabel_below description_below'><li id="field_53_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_53_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-api-management-pricing-and-features-api-management-platform/' /></div></li><li id="field_53_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_53_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_8"><label class='gfield_label' for='input_53_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_53_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_53_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_2"><label class='gfield_label' for='input_53_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_53_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_53_2" /> </div><div class='gfield_description' id='gfield_description_53_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_53_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_53' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_53"]){return false;} window["gf_submitting_53"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_53"]){return false;} window["gf_submitting_53"]=true; jQuery("#gform_53").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_53' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='53' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_53' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_53' id='gform_target_page_number_53' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_53' id='gform_source_page_number_53' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="164"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=52 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_52' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Top 10 tips of successfully migrate to Microsoft teams</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_52' action='/azure-api-management-pricing-and-features-api-management-platform/' > <div class='gform_body gform-body'><ul id='gform_fields_52' class='gform_fields top_label form_sublabel_below description_below'><li id="field_52_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_52_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-api-management-pricing-and-features-api-management-platform/' /></div></li><li id="field_52_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_52_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_8"><label class='gfield_label' for='input_52_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_52_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_52_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_2"><label class='gfield_label' for='input_52_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_52_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_52_2" /> </div><div class='gfield_description' id='gfield_description_52_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_52_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_52' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_52"]){return false;} window["gf_submitting_52"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_52"]){return false;} window["gf_submitting_52"]=true; jQuery("#gform_52").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_52' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='52' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_52' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_52' id='gform_target_page_number_52' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_52' id='gform_source_page_number_52' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_3" name="ak_js" value="79"/><script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=51 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_51' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Azure Sentinel Use Cases</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_51' action='/azure-api-management-pricing-and-features-api-management-platform/' > <div class='gform_body gform-body'><ul id='gform_fields_51' class='gform_fields top_label form_sublabel_below description_below'><li id="field_51_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_51_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-api-management-pricing-and-features-api-management-platform/' /></div></li><li id="field_51_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_51_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_8"><label class='gfield_label' for='input_51_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_51_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_51_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_2"><label class='gfield_label' for='input_51_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_51_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_51_2" /> </div><div class='gfield_description' id='gfield_description_51_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_51_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_51' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_51"]){return false;} window["gf_submitting_51"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_51"]){return false;} window["gf_submitting_51"]=true; jQuery("#gform_51").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_51' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='51' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_51' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_51' id='gform_target_page_number_51' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_51' id='gform_source_page_number_51' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_4" name="ak_js" value="167"/><script>document.getElementById( "ak_js_4" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=50 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_50' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Understand Azure Digital Twins</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_50' action='/azure-api-management-pricing-and-features-api-management-platform/' > <div class='gform_body gform-body'><ul id='gform_fields_50' class='gform_fields top_label form_sublabel_below description_below'><li id="field_50_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_50_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-api-management-pricing-and-features-api-management-platform/' /></div></li><li id="field_50_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_50_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_8"><label class='gfield_label' for='input_50_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_50_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_50_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_2"><label class='gfield_label' for='input_50_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_50_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_50_2" /> </div><div class='gfield_description' id='gfield_description_50_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_50_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_50' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_50"]){return false;} window["gf_submitting_50"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_50"]){return false;} window["gf_submitting_50"]=true; jQuery("#gform_50").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_50' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='50' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_50' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_50' id='gform_target_page_number_50' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_50' id='gform_source_page_number_50' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_5" name="ak_js" value="34"/><script>document.getElementById( "ak_js_5" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id="43" title="true" description="false" ajax="true"]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_43' ><div id='gf_43' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <h3 class="gform_title">Subscriber - Powerbi e-book</h3> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_43' id='gform_43' action='/azure-api-management-pricing-and-features-api-management-platform/#gf_43' > <div class='gform_body gform-body'><ul id='gform_fields_43' class='gform_fields top_label form_sublabel_below description_below'><li id="field_43_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_43_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-api-management-pricing-and-features-api-management-platform/' /></div></li><li id="field_43_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get the first three chapters of the eBook for <strong>free<strong>.</p> </div></li><li id="field_43_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_6"><label class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_43_6'> <span id='input_43_6_3_container' class='name_first' > <input type='text' name='input_6.3' id='input_43_6_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_43_6_3' >First</label> </span> <span id='input_43_6_6_container' class='name_last' > <input type='text' name='input_6.6' id='input_43_6_6' value='' aria-required='true' placeholder='Last Name' /> <label for='input_43_6_6' >Last</label> </span> </div></li><li id="field_43_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_2"><label class='gfield_label' for='input_43_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_43_2' type='text' value='' class='medium' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_43_2" /> </div><div class='gfield_description' id='gfield_description_43_2'>Please enter your correct email address. You will receive an email to download the eBook.</div></li><li id="field_43_3" class="gfield g-captcha field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_3"><label class='gfield_label screen-reader-text' for='input_43_3' ></label><div id='input_43_3' class='ginput_container ginput_recaptcha' data-sitekey='6LdQ388UAAAAAJaahWs7D_jWzeQhUZW6-VNwWfaU' data-theme='light' data-tabindex='0' data-badge=''></div></li><li id="field_43_5" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_43' class='gform_button button' value='Download Now' onclick='if(window["gf_submitting_43"]){return false;} window["gf_submitting_43"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_43"]){return false;} window["gf_submitting_43"]=true; jQuery("#gform_43").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=43&amp;title=1&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_43' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='43' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_43' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_43' id='gform_target_page_number_43' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_43' id='gform_source_page_number_43' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_6" name="ak_js" value="218"/><script>document.getElementById( "ak_js_6" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_43' id='gform_ajax_frame_43' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 43, 'https://www.epcgroup.net/wp-content/uploads/2021/11/ezgif.com-gif-maker.gif' );jQuery('#gform_ajax_frame_43').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_43');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_43').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_43').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_43').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_43').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_43').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_43').val();gformInitSpinner( 43, 'https://www.epcgroup.net/wp-content/uploads/2021/11/ezgif.com-gif-maker.gif' );jQuery(document).trigger('gform_page_loaded', [43, current_page]);window['gf_submitting_43'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_43').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_43').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [43]);window['gf_submitting_43'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_43').text());}, 50);}else{jQuery('#gform_43').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [43, current_page]);} );} ); </script>
[gravityforms id=41 title=”true” description=”false”]
<div class='gf_browser_chrome gform_wrapper exit_intent_popup_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_41' > <div class='gform_heading'> <h3 class="gform_title">Exit Intent</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_41' class='exit_intent_popup gform_legacy_markup' action='/azure-api-management-pricing-and-features-api-management-platform/' > <div class='gform_body gform-body'><ul id='gform_fields_41' class='gform_fields top_label form_sublabel_below description_below'><li id="field_41_1" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_1"><div class='ginput_container ginput_container_text'><input name='input_1' id='input_41_1' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/azure-api-management-pricing-and-features-api-management-platform/' /></div></li><li id="field_41_11" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_11"><div class='ginput_container ginput_container_text'><input name='input_11' id='input_41_11' type='hidden' class='gform_hidden' aria-invalid="false" value='ddd01b75-d4fc-ea11-a816-000d3a591fb8' /></div></li><li id="field_41_12" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_12"><div class='ginput_container ginput_container_text'><input name='input_12' id='input_41_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_41_13" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_13"><div class='ginput_container ginput_container_text'><input name='input_13' id='input_41_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_41_9" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_9"><label class='gfield_label' for='input_41_9' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_41_9' type='text' value='' class='medium' placeholder='Full Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_6"><label class='gfield_label' for='input_41_6' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_6' id='input_41_6' type='text' value='' class='medium' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_7" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_7"><label class='gfield_label' for='input_41_7' >Phone<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_7' id='input_41_7' type='text' value='' class='medium' placeholder='Phone Number' aria-required="true" aria-invalid="false" /></div></li><li id="field_41_10" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_10"><label class='gfield_label' for='input_41_10' >Company Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_41_10' type='text' value='' class='medium' placeholder='Company Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_8" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_8"><label class='gfield_label' for='input_41_8' >Message<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_8' id='input_41_8' class='textarea medium' placeholder='Type your message here...' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_41' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_41"]){return false;} window["gf_submitting_41"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_41"]){return false;} window["gf_submitting_41"]=true; jQuery("#gform_41").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_41' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='41' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_41' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_41' id='gform_target_page_number_41' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_41' id='gform_source_page_number_41' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_7" name="ak_js" value="246"/><script>document.getElementById( "ak_js_7" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>