...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
For a complete list of the currently supported Publisher APIs, go to https://docs.wso2.com/display/AM200/apidocs/publisher.
...
Warning |
---|
The following Publisher APIs are deprecated and will be unsupported in a future release. They are provided below for reference by existing users. For a complete list of the currently supported |
...
Publisher APIs, go to https://docs.wso2.com/display/AM210/apidocs/publisher/. |
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Note |
---|
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 response is a JSON message. |
Login
Description | Log in to API Publisher web application. |
---|---|
URI | http://localhost:9763/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 http://localhost:9763/publisher/site/blocks/user/login/ajax/login.jag -d 'action=login&username=admin&password=admin' |
Logout
Description | Log out from API Publisher web application. |
---|---|
URI | http://localhost:9763/publisher/site/blocks/user/login/ajax/login .jag |
URI Parameters | ?action=logout |
HTTP Methods | GET |
Example | curl -b cookies http://localhost:9763/publisher/site/blocks/user/login/ajax/login.jag?action=logout |
Add API
Description | Add a new API. | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
URI | http://localhost:9763/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 http://localhost:9763/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":" http://ws.cdyne.com/phoneverify/phoneverify.asmx","config":null},"endpoint_type":"http "}' |
Add API with Path Parameter
Description | Add a new API with path parameter |
---|---|
URI | http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag |
URI Parameters | action=addAPI&name=xxx&context=/xxx&version=1.0.0&visibility=xxx&thumbUrl=&description=xxx&tags=xxx&endpointType=xxx&tiersCollection=xxx&http_checked=http&https_checked=https" -d 'swagger=xxx |
HTTP Methods | POST |
Example | curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag -d "action=addAPI&name=SampleApi&context=/sample&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" -d 'swagger={"paths" : {"/estimate/" : {"get" : {"x-auth-type" : "Application%20%26%20Application%20User", "x-throttling-tier" : "Unlimited", "responses" : {"200" : {}}, "parameters" : [{"name" : "id", "paramType" : "path", "required" : false, "type" : "string", "description" : "Phone Number", "in" : "path"}]}}}, "swagger" : "2.0", "x-wso2-security" : {"apim" : {"x-wso2-scopes" : [{"description" : "", "name" : "read_number", "roles" : "admin", "key" : "read_number"}]}}, "info" : {"title" : "SampleApi", "version" : "1.0.0"}}' -d 'endpoint_config={"production_endpoints":{"url":"http://ws.cdyne.com/phoneverify/phoneverify.asmx","config":null},"endpoint_type":"http"}' |
Update API
Description | Update an existing API |
---|---|
URI | http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag |
URI Parameters | Parameters are same as in Add API except that action = updateAPI and you can only update the following parameters: visibility, t humbUrl, 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 http://localhost:9763/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=http://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":"http://gdata.youtube.com/feeds/api/standardfeeds","config":null},"endpoint_type":"http"}' |
...
Publishing an API to external Store
Description |
---|
Publish an API to external store | |
URI |
---|
URI Parameters |
---|
action=updateExternal&name=xxx&version=xxx&provider=xxx&externalAPIStores=<external-store-1>::<external-store-2>::<external-store-3>
| ||
HTTP Methods |
---|
POST | |
Example | updateExternal : curl -X POST -b cookies |
---|
Get an API
-d "action=updateExternal&name=PhoneVerification&version=1.0.0&provider=admin&externalAPIStores=exstore2::exstore3
|
|
|
|
|
|
|
|
|
Remove an API
|
Get All APIs
Description | Lists all the created APIs. |
---|---|
URI | http://localhost:9763/publisher/site/blocks/ |
listing/ajax/ |
item-list.jag | |
URI Parameters | ?action= |
---|
getAllAPIs |
HTTP Methods |
---|
GET | |
Example | curl - |
---|
...
Get an API
Description |
---|
Get details of a specific API. | |
URI | http://localhost:9763/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 http://localhost:9763/publisher/site/blocks/ |
item-list.jag -d "action= |
getAPI&name=PhoneVerification&version=1.0.0& |
Check Older Version
provider=admin" |
Remove an API
Description | Remove an API. |
---|---|
URI | http://localhost:9763/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 |
-d "action= |
removeAPI&name=PhoneVerification&version=1.0.0&provider=admin" |
...
Copy an API
...
Description |
---|
Copy an API to a newer version. | |
URI | http://localhost:9763/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 |
-d |
"action=createNewAPI&provider= |
admin& |
apiName=PhoneVerification&version=1.0.0& |
Add/Update an API Document
newVersion=2.0.0&isDefaultVersion=default_version" |
Check Older Version
Description | Does older version of API exist. |
---|---|
URI | http://localhost:9763/publisher/site/blocks/ |
life-cycles/ajax/ |
life-cycles.jag |
URI Parameters |
---|
action= |
isAPIOlderVersionExist&provider=xxx& |
name=xxx&version=xxx |
Note that docVisibility is applicable only if you have enabled it. See API documentation visibility.
Add Document file: action=addDocumentation&provider=xxx&apiName=xxx&version=xxx&docName=xxx&summary=xxx&docType=xxx&newType=xxx&sourceType=xxx&docUrl=&docLocation=xxx
Update Document: action=addDocumentation&mode=xxx&provider=xxx&apiName=xxx&version=xxx&docName=xxx&summary=xxx&docType=xxx&newType=xxx&sourceType=xxx&docUrl=&docLocation=xxx
docType
parameter can have values such as How To, Samples, Public Forum etc. If the docType
is specified as "Other", the newType
parameter is required to be specified with a non-empty value. The sourceType
can be inline, file or URL.HTTP Methods | POST |
---|---|
Example | curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/life-cycles/ajax/life-cycles.jag -d "action=isAPIOlderVersionExist&provider=admin&name=PhoneVerification&version=1.0.0" |
Change API Status
Description | Change the API's status. |
---|---|
URI | http://localhost:9763/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 'http://localhost:9763/publisher/site/blocks/ |
life-cycles.jag' -d |
'action= |
updateStatus& |
name=PhoneVerification&version= |
1.0.0&provider=admin&status=PUBLISHED&publishToGateway=true&requireResubscription=true' |
Add/Update an API Document
Description | Add a new API document. |
---|---|
URI | http://localhost:9763/publisher/site/blocks/documentation/ajax/docs.jag |
URI Parameters | Add Document: action=addDocumentation |
---|
&provider= |
xxx&apiName= |
xxx&version=xxx&docName=xxx&summary=xxx&docType=xxx&newType=xxx&sourceType=xxx&docUrl=&docLocation=xxx&docVisibility=owner_only/private Note that docVisibility is applicable only if you have enabled it. See API documentation visibility. Add Document file: action=addDocumentation&provider=xxx&apiName=xxx&version=xxx&docName=xxx&summary=xxx&docType=xxx&newType=xxx&sourceType=xxx&docUrl=&docLocation= |
xxx |
Remove an API Document
Update Document: action=addDocumentation&mode=xxx&provider=xxx&apiName=xxx&version=xxx&docName=xxx& |
curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/documentation/ajax/docs.jag -d "action=removeDocumentation&provider=admin&apiName=PizzaShackAPI&version=1.0.0&docName=Sample&docType=HowTo"
Get all Throttling Tiers
summary=xxx&docType=xxx&newType=xxx&sourceType=xxx&docUrl=&docLocation=xxx
| ||
HTTP Methods | POST | |
---|---|---|
Example | Add Document: curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/ |
action=getTiers
-d "action=addDocumentation&provider=xxx&apiName=xxx&version=xxx&docName=xxx&summary=xxx&docType=xxx&newType=xxx&sourceType=xxx&docUrl=&docLocation=" Add Document file: curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/ |
Check if API Exists
-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 http://localhost:9763/publisher/site/blocks/ |
action=isAPINameExist&apiName=<name of the API>
-d "action=addDocumentation&mode=Update&provider=admin&apiName=PizzaShackAPI&version=1.0.0&docName=Sample&summary=sample summary updated&docType=other&newType=primary&sourceType=inline&docUrl=&docLocation=" |
Remove an API Document
Description | Remove an API document. |
---|---|
URI | http://localhost:9763/publisher/site/blocks/ |
documentation/ajax/ |
docs.jag |
Validate Roles
http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag
action=validateRoles&roles=<list of roles>
URI Parameters | action=removeDocumentation&provider=xxx&apiName=xxx&version=xxx&docName=xxx&docType=xxx |
---|---|
HTTP Methods | POST |
Example | curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/ |
-d "action= |
removeDocumentation& |
provider=admin&apiName=PizzaShackAPI&version=1.0.0&docName=Sample&docType=HowTo" |
Get all Throttling Tiers
Description | Get the throttling tiers that can be applied to APIs |
---|---|
URI | http://localhost:9763 /publisher/site/blocks/item-add/ajax/add.jag? |
URI Parameters | action=getTiers |
HTTP Methods | GET |
Example | curl -b cookies http://localhost:9763/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 | http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag |
URI Parameters | action=isAPINameExist&apiName=<name of the API> |
HTTP Methods | GET |
Example | curl -b cookies "http://localhost:9763/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 | http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag |
URI Parameters | action=validateRoles&roles=<list of roles> |
HTTP Methods | GET |
Example | curl -b cookies "http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag?action=validateRoles&roles=admin" |
...
Analytics related APIs
Note |
---|
Before using the following analytics related APIs, ensure to configure Analytics for API-M. For more information, see Configuring APIM Analytics. |
Table of Contents | ||||
---|---|---|---|---|
|
Get List of API Creators
Description | Get the list of all the API creators. |
---|---|
URI | http://localhost:9763/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' ' http://localhost:9763/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 | http://localhost:9763/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' 'http://localhost:9763/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 | http://localhost:9763/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' 'http://localhost:9763/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 | http://localhost:9763/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' 'http://localhost:9763/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 | http://localhost:9763/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 | http://localhost:9763/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' 'http://localhost:9763/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 | http://localhost:9763/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' 'http://localhost:9763/publisher/site/blocks/stats/faulty-invocations/ajax/stats.jag ' |
Sample Response | < HTTP/1.1 200 OK |