This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Block Subscription to an API V2

  1. Log in to the API Publisher.
  2. Create two APIs by the names TestAPI1 and TestAPI2 and publish them to the API Store.

  3. Log in to the API Store. Click the APIs menu and note that the two APIs are visible in the APIs page.
  4. Subscribe to both APIs using the same application. You can use the default application or create your own.
  5. Go to the My Subscriptions page and create an access token to the default application.
  6. Invoke both APIs using the access token you got in the previous step. We use cURL here. The command is,

    curl -k -H "Authorization: Bearer <access token>" '<API URL>'

    Be sure to replace the placeholders as follows:

    • <access token>: Give the token generated in step 5
    • <API URL>: Go to the API's Overview tab in the API Store and copy the production URL and append the payload to it. 

    Here's an example:

    curl -k -H "Authorization :Bearer 633d6db88e6ee42457e60ad1b736210" 'https://localhost:8243/test1/1.0.0/CheckPhoneNumber?PhoneNumber=18006785432&LicenseKey=0'


    You have subscribed to two APIs and invoked them successfully. Let's block one subscription and see the outcome.

  7. Log back to the API Publisher.
  8. Click the Subscriptions menu to open the Subscriptions page. It shows all APIs/applications that each user is subscribed to.
     
     
  9. Block subscription for TestAPI1 using the DefaultApplication. Select the production and sandbox option and click the Block link.

  10. Note that the Block link immediately turns to Unblock, allowing you to activate the subscription back at any time.
  11. Log back to the API Store.
  12. Invoke the two APIs (TestAPI1 and TestAPI2) again.

    You might have to regenerate the access token for DefaultApplication if the access token expiration time (1 hour by default) has passed since the last time you generated it. You can refresh the access token by going to the My Subscriptions page in the Store.

  13. Note that you can invoke TestAPI2 again but when you invoke TestAPI1, it gives a message that the requested API is temporarily blocked. Neither the API creator nor any subscriber can invoke the API until the block is removed.
  14. Go to the My Subscriptions page in the API Store, select the application that you used to subscribe to the API and note that your subscription is blocked.
     
  15. Go back to the API Publisher's Subscriptions page and unblock the subscription. 
  16. Invoke TestAPI1 again and note that you can invoke it as usual.

You have subscribed to two APIs, blocked subscription to one and tested that you cannot invoke the blocked API.