Note that the REST APIs listed on this page are deprecated. Click https://docs.wso2.com/display/AM210/apidocs/publisher for the recommended list of Publisher APIs.
Publisher APIs provide the following REST resources.
Note: When you access any API other than the login and logout APIs through an external REST client such as cURL, first invoke the login API to ensure that user is authenticated. When the login API is invoked, the system stores the generated session cookie in a file, which we use in the next API invocations.
The responses is a JSON message.
Login
Description | Log in to API Publisher web application. |
URI | https://api.cloud.wso2.com/publisher/site/blocks/user/login/ajax/login.jag |
URI Parameters | action=login&username=xxx&password=xxx |
HTTP Methods | POST |
Example | curl -X POST -c cookies https://api.cloud.wso2.com/publisher/site/blocks/user/login/ajax/login.jag -d 'action=login&username=<user name>&password=xxx' The <user name> should be email@organization_key. For example, if the e-mail is jhon@gmail.com, the <user name> should be jhon@gmail.com@organization_key. You can find the organization_key on the Manage page of the cloud. |
Logout
Description | Log out from API Publisher web application. |
URI | https://api.cloud.wso2.com / publisher/site/blocks/user/login/ajax/login.jag |
URI Parameters | ?action=logout |
HTTP Methods | GET |
Example | curl -b cookies https://api.cloud.wso2.com / publisher/site/blocks/user/login/ajax/login.jag ?action=logout |
Add API
Description | Add a new API. | ||||||||||||||||||||||||||||||||||||||||
URI | https://api.cloud.wso2.com / publisher/site/blocks/item-add/ajax/add.jag | ||||||||||||||||||||||||||||||||||||||||
URI Parameters | Given below are the parameters that you can pass with an Add-API call. Mandatory ones are marked with a *.
| ||||||||||||||||||||||||||||||||||||||||
HTTP Methods | POST | ||||||||||||||||||||||||||||||||||||||||
Example | curl -X POST -b cookies https://api.cloud.wso2.com / publisher/site/blocks/item-add/ajax/add.jag -d "action=addAPI&name=PhoneVerification&context=/phoneverify&version=1.0.0&visibility=public&thumbUrl=&description=Verify a phone number&tags=phone,mobile,multimedia&endpointType=nonsecured&tiersCollection=Gold,Bronze&http_checked=http&https_checked=https&resourceCount=0&resourceMethod-0=GET&resourceMethodAuthType-0=Application&resourceMethodThrottlingTier-0=Unlimited&uriTemplate-0=/*&default_version_checked=default_version&bizOwner=xx&bizOwnerMail= xx@ee.com &techOwner=xx&techOwnerMail= ggg@ww.com " -d'endpoint_config={"production_endpoints":{"url":" https://ws.cdyne.com/phoneverify/phoneverify.asmx","config":null},"endpoint_type":"http "}'; |
Update API
Description | Update an existing API |
URI | https://api.cloud.wso2.com / publisher/site/blocks/item-add/ajax/add.jag |
URI Parameters | Parameters are same as in Add API except that a ction= updateAPI and you can only update the following parameters: visibility, thumbUrl, description, tags, endpointType, endpoint_config (can change the endpoint URL etc,) http_checked, https_checked, tiersCollection, swagger and can also add new resources. See example below. |
HTTP Methods | POST |
Example | Update API : curl -X POST -b cookies https://api.cloud.wso2.com / publisher/site/blocks/item-add/ajax/add.jag -d "action=updateAPI&name=PhoneVerification&provider=admin&version=1.0.0&visibility=public&description=Youtube Live Feeds&endpointType=nonsecured&http_checked=http&https_checked=https&tags=youtube,gdata,multimedia&tier=Silver&thumbUrl= https://www.10bigideas.com.au/www/573/files/pf-thumbnail-youtube_logo.jpg&context=/youtube&tiersCollection=Gold,silver&resourceCount=0&resourceMethod-0=GET&resourceMethodAuthType-0=Application&resourceMethodThrottlingTier-0=Unlimited&uriTemplate-0=/*" -d'endpoint_config={"production_endpoints":{"url":"https://gdata.youtube.com/feeds/api/standardfeeds","config":null},"endpoint_type":"http"}'; |
Get All APIs
Description | Lists all the created APIs. |
URI | https://api.cloud.wso2.com / publisher/site/blocks/listing/ajax/item-list.jag |
URI Parameters | ?action=getAllAPIs |
HTTP Methods | GET |
Example | curl -b cookies https://api.cloud.wso2.com/publisher/site/blocks/listing/ajax/item-list.jag ?action=getAllAPIs |
Get an API
Description | Get details of a specific API. |
URI | https://api.cloud.wso2.com/publisher/site/blocks/listing/ajax/item-list.jag |
URI Parameters | action=getAPI&name=xxx&version=xxx&provider=xxx |
HTTP Methods | POST |
Example | curl -X POST -b cookies https://api.cloud.wso2.com/publisher/site/blocks/listing/ajax/item-list.jag -d 'action=getAPI&name=API1&version=1.0.0&provider=user1' |
Remove an API
Description | Remove an API. |
URI | https://api.cloud.wso2.com / publisher/site/blocks/item-add/ajax/remove.jag |
URI Parameters | action=removeAPI&name=xxx&version=xxx&provider=xxx |
HTTP Methods | POST |
Example | curl -X POST -b cookies https://api.cloud.wso2.com / publisher/site/blocks/item-add/ajax/remove.jag -d 'action=removeAPI&name=API1&version=1.0.0&provider=user1' |
Copy an API
Description | Copy an API to a newer version. |
URI | https://api.cloud.wso2.com / publisher/site/blocks/overview/ajax/overview.jag |
URI Parameters | action=createNewAPI&provider=xxx&apiName=xxx&version=xxx&newVersion=xxx |
HTTP Methods | POST |
Example | curl -X POST -b cookies https://api.cloud.wso2.com / publisher/site/blocks/overview/ajax/overview.jag -d "action=createNewAPI&provider=user1&apiName=API1&version=1.0.0&newVersion=2.0.0&isDefaultVersion=default_version" |
Check Older Version
Description | Does older version of API exist. |
URI | https:// api.cloud.wso2.com / publisher/site/blocks/life-cycles/ajax/life-cycles.jag |
URI Parameters | action=isAPIOlderVersionExist&provider=xxx&name=xxx&version=xxx |
HTTP Methods | POST |
Example | curl -X POST -b cookies https:// api.cloud.wso2.com / publisher/site/blocks/life-cycles/ajax/life-cycles.jag ?action=isAPIOlderVersion Exist&provider=user1&name=API1&version=1.0.0 |
Change API Status
Description | Change the API's status. |
URI | https:// api.cloud.wso2.com / publisher/site/blocks/life-cycles/ajax/life-cycles.jag |
URI Parameters | action=updateStatus&name=xxx&version=1.0.0&provider=apiCreateName&status=PUBLISHED&publishToGateway=true&requireResubscription=true |
HTTP Methods | POST |
Example | curl -X POST -b cookies https://api.cloud.wso2.com/publisher/site/blocks/life-cycles/ajax/life-cycles.jag -d 'action=updateStatus&name=TwitterAPI&version=1.0.0&provider=provider&status=PUBLISHED&publishToGateway=true&requireResubscrip |
Add/Update an API Document
Description | Add a new API document. |
URI | https://api.cloud.wso2.com / publisher/site/blocks/documentation/ajax/docs.jag |
URI Parameters | Add Document: action=addDocumentation&provider=xxx&apiName=xxx&version=xxx&docName=xxx&docType=xxx&sourceType=xxx&docUrl=xxx&summary=xxx&docLocation=xxx&docVisibility=owner_only/private Add Document file: action=addDocumentation&provider=xxx&apiName=xxx&version=xxx&docName=xxx&docType=xxx&sourceType=xxx&docUrl=xxx&summary=xxx&docLocation=xxx Update Document: action=addDocumentation&mode=Update&provider=xxx&apiName=xxx&version=xxx&docName=xxx&docType=xxx&sourceType=xxx&docUrl=xxx&summary=xxx&docLocation=xxx |
HTTP Methods | POST |
Example | Add Document: curl -X POST -b cookies https://api.cloud.wso2.com / publisher/site/blocks/documentation/ajax/docs.jag -d "action=addDocumentation&provider=admin&apiName=PhoneVerification&version=1.0.0&docName=testDoc&docType=how to&sourceType=inline&docUrl=&summary=testing&docLocation=" Add Document file: curl -X POST -b cookies https://api.cloud.wso2.com / publisher/site/blocks/documentation/ajax/docs.jag -F "action=addDocumentation" -F "provider=admin" -F "apiName=testAPi" -F "version=1.0.0" -F "docName=testDoc2" -F "docType=how to" -F "sourceType=file" -F "docUrl=" -F "summary=testing" -F "docLocation=@test.txt" Update Document: curl -X POST -b cookies https://api.cloud.wso2.com / publisher/site/blocks/documentation/ajax/docs.jag -d "action=addDocumentation&mode=Update&provider=admin&apiName=PhoneVerification&version=1.0.0&docName=testDoc&docType=how to&sourceType=inline&docUrl=&summary=new summary&docLocation=" |
Remove an API Document
Description | Remove an API document. |
URI | https:// api.cloud.wso2.com / publisher/site/blocks/documentation/ajax/docs.jag |
URI Parameters | action=removeDocumentation&provider=xxx&apiName=xxx&version=xxx&docName=xxx&docType=xxx |
HTTP Methods | POST |
Example | curl -X POST -b cookies https://api.cloud.wso2.com/publisher/site/blocks/documentation/ajax/docs.jag -d 'action=removeDocumentation&provider=admin&apiName=API1&version=1.0.0&docName=doc1&docType=How To' |
Get all Throttling Tiers
Description | Get the throttling tiers that can be applied to APIs |
URI | https:// api.cloud.wso2.com /publisher/site/blocks/item-add/ajax/add.jag? |
URI Parameters | action=getTiers |
HTTP Methods | GET |
Example | curl -b cookies https:// api.cloud.wso2.com /publisher/site/blocks/item-add/ajax/add.jag?action=getTiers |
Check if API Exists
Description | Check if an API by a given name exists in the API Publisher |
URI | https:// api.cloud.wso2.com /publisher/site/blocks/item-add/ajax/add.jag |
URI Parameters | action=isAPINameExist&apiName=<name of the API> |
HTTP Methods | GET |
Example | curl -b cookies " https:// api.cloud.wso2.com /publisher/site/blocks/item-add/ajax/add.jag?action=isAPINameExist&apiName=PhoneVerification" |
Validate Roles
Description | Check if the user logged in user is any one in a given list of users |
URI | https:// api.cloud.wso2.com /publisher/site/blocks/item-add/ajax/add.jag |
URI Parameters | action=validateRoles&roles=<list of roles> |
HTTP Methods | GET |
Example | curl -b cookies " https:// api.cloud.wso2.com /publisher/site/blocks/item-add/ajax/add.jag?action=validateRoles&roles=admin" |
Get List of API Creators
Description | Get the list of all the API creators. |
---|---|
URI | https://api.cloud.wso2.com/publisher/site/blocks/stats/api-usage-user/ajax/stats.jag |
Request Headers | "Content-Type" -> "application/x-www-form-urlencoded" |
HTTP Methods | POST |
Payload | action=getAPIUsageByUser¤tLocation=/publisher/site/pages/all-statistics.jag&fromDate=2014-05-10 00:00:00&toDate=2016-12-16 13:41:13&apiFilter=allAPIs |
Example | curl -v -b cookies -XPOST -H "Content-type: application/x-www-form-urlencoded" -d 'action=getAPIUsageByUser¤tLocation=/publisher/site/pages/all-statistics.jag&fromDate=2014-05-10 00:00:00&toDate=2016-12-16 13:41:13&apiFilter=allAPIs' ' https://api.cloud.wso2.com/publisher/site/blocks/stats/api-usage-user/ajax/stats.jag ' |
Sample Response | < HTTP/1.1 200 OK |
Get Subscriber Count
Description | Get the number of subscribers. |
---|---|
URI | https://api.cloud.wso2.com/publisher/site/blocks/stats/api-subscriptions/ajax/stats.jag |
Request Headers | "Content-Type" -> "application/x-www-form-urlencoded" |
HTTP Methods | POST |
Payload | action:getSubscriberCountByAPIs |
Example | curl -v -b cookies -XPOST -H "Content-type: application/x-www-form-urlencoded" -d 'action=getSubscriberCountByAPIs¤tLocation=/publishe/site/pages/all-statistics.jag&apiFilter=allAPIs' 'https://api.cloud.wso2.com/publisher/site/blocks/stats/api-subscriptions/ajax/stats.jag' |
Sample Response | < HTTP/1.1 200 OK |
Get API Usage By Resource Path
Description | Get the API usage based on the resource path. |
---|---|
URI | https://api.cloud.wso2.com/publisher/site/blocks/stats/api-usage-resource-path/ajax/stats.jag |
Request Headers | "Content-Type" -> "application/x-www-form-urlencoded" |
HTTP Methods | POST |
Payload | action:getAPIUsageByResourcePath |
Example | curl -v -b cookies -XPOST -H "Content-type: application/x-www-form-urlencoded" -d 'action=getAPIUsageByResourcePath¤tLocation=%2Fpublisher%2Fsite%2Fpages%2Fall-statistics.jag&fromDate=2014-05-10+00%3A00%3A00&toDate=2016-12-16+14%3A34%3A33&apiFilter=allAPIs' 'https://api.cloud.wso2.com/publisher/site/blocks/stats/api-usage-resource-path/ajax/stats.jag' |
Sample Response | < HTTP/1.1 200 OK |
Get API Usage By Destination
Description | Get the API usage based on the destination |
---|---|
URI | https://api.cloud.wso2.com/publisher/site/blocks/stats/api-usage-destination/ajax/stats.jag |
Request Headers | "Content-Type" -> "application/x-www-form-urlencoded" |
HTTP Methods | POST |
Payload | action:getAPIUsageByDestination |
Example | curl -v -b cookies -XPOST -H "Content-type: application/x-www-form-urlencoded" -d 'action=getAPIUsageByDestination¤tLocation=%2Fpublisher%2Fsite%2Fpages%2Fall-statistics.jag&fromDate=2014-05-10+00%3A00%3A00&toDate=2016-12-16+14%3A34%3A33&apiFilter=allAPIs' 'https://api.cloud.wso2.com/publisher/site/blocks/stats/api-usage-destination/ajax/stats.jag' |
Sample Response | < HTTP/1.1 200 OK |
Get API Usage by Provider
Description | Get API Usage by Provider. |
---|---|
URI | https://api.cloud.wso2.com/publisher/site/blocks/stats/api-usage/ajax/stats.jag |
Request Headers | "Content-Type" -> "application/x-www-form-urlencoded" |
HTTP Methods | POST |
Payload | action:getProviderAPIUsage |
Example | curl -v -b cookies -XPOST -H "Content-type: application/x-www-form-urlencoded" -d 'ac |
Sample Response | < HTTP/1.1 200 OK |
Get API and Application Throttling Data
Description | Get the throttling related data related to the APIs and applications. |
---|---|
URI | https://api.cloud.wso2.com/publisher/site/blocks/stats/api-throttledcounts/ajax/stats.jag |
Request Headers | "Content-Type" -> "application/x-www-form-urlencoded" |
HTTP Methods | POST |
Payload | action:getThrottleDataOfAPIAndApplication |
Example | curl -v -b cookies -XPOST -H "Content-type: application/x-www-form-urlencoded" -d 'action=getThrottleDataOfAPIAndApplication¤tLocation=%2Fpublisher%2Fsite%2Fpages%2Fall-statistics.jag&apiName=Cedum&appName=&fromDate=2014-05-10+00%3A00%3A00&toDate=2016-12-16+15%3A07%3A00&apiFilter=allAPIs' 'https://api.cloud.wso2.com/publisher/site/blocks/stats/api-throttledcounts/ajax/stats.jag' |
Sample Response | < HTTP/1.1 200 OK |
Get API Response Fault Count
Description | Get the response fault count of APIs. |
---|---|
URI | https://api.cloud.wso2.com/publisher/site/blocks/stats/faulty-invocations/ajax/stats.jag |
Request Headers | "Content-Type" -> "application/x-www-form-urlencoded" |
HTTP Methods | POST |
Payload | action:getThrottleDataOfAPIAndApplication |
Example | curl -v -b cookies -XPOST -H "Content-type: application/x-www-form-urlencoded" -d 'action=getAPIResponseFaultCount¤tLocation=%2Fpublisher%2Fsite%2Fpages%2Fall-statistics.jag&fromDate=2014-05-10+00%3A00%3A00&toDate=2016-12-16+15%3A07%3A00&apiFilter=allAPIs' 'https://api.cloud.wso2.com/publisher/site/blocks/stats/faulty-invocations/ajax/stats.jag ' |
Sample Response | < HTTP/1.1 200 OK |