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.
Alternatively, if you access these APIs from the API Publisher application itself, you do not have to invoke the login API first.
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/Update API
Description | Add a new API or update an existing API. |
URI | http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag |
URI Parameters | Add API: "action=addAPI&name=xxx&visibility=public&version=x.x.x&description=xxx&endpointType=nonsecured&http_checked=http&https_checked=https&&wsdl=&tags=x,y,z&tier=Silver&thumbUrl=<File>&context=/xxx&tiersCollection=Gold&resourceCount=0&resourceMethod-0=GET&resourceMethodAuthType-0=Application&resourceMethodThrottlingTier-0=Unlimited&uriTemplate-0=/*" -d'endpoint_config={"production_endpoints":{"url":"<URL>","config":null},"endpoint_type":"http"}'; Tip: If you want to set only the HTTP transport, leave the Tip: To add a thumbnail image, create a file object of that thumbnail and pass it with the Tip: API visibility is mandatory in the REST call due to a known issue, which is fixed in API Manager 1.9.0 onwards. |
HTTP Methods | POST |
Example | Add API : Update API : From APIM 1.6.0 onwards, this service accepts endpoint configuration data as a JSON value. In endpoint config JSON, you have to specify "endpoint_type" and "production_endpoints" and/or "sandbox_endpoints". Add the argument curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag -d "action=addAPI&name=YoutubeFeeds&visibility=public&version=1.0.0&description=Youtube Live Feeds&endpointType=nonsecured&http_checked=http&https_checked=https&&wsdl=&tags=youtube,gdata,multimedia&tier=Silver&thumbUrl=http://www.10bigideas.com.au/www/573/files/pf-thumbnail-youtube_logo.jpg&context=/youtube&tiersCollection=Gold&resourceCount=0&resourceMethod-0=GET&resourceMethodAuthType-0=Application&resourceMethodThrottlingTier-0=Unlimited&uriTemplate-0=/*&subscriptions=all_tenants" -d'endpoint_config={"production_endpoints":{"url":"http://gdata.youtube.com/feeds/api/standardfeeds","config":null},"endpoint_type":"http"}'; |
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 -b cookies http://localhost:9763/publisher/site/blocks/listing/ajax/item-list .jag ?action=getAllAPIs |
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/listing/ajax/item-list.jag -d "action=getAPI&name=API1&version=1.0.0&provider=user1" |
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 cookies http://localhost:9763/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 | http://localhost:9763/publisher/site/blocks/overview/ajax/overvi ew.jag |
URI Parameters | action=createNewAPI&provider=xxx&apiName=xxx&version=xxx&newVersion=xxx |
HTTP Methods | POST |
Example | curl -X POST -b cookies http://localhost:9763/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 | http://localhost:9763/publisher/site/blocks/life-cycles/ajax/life-cycles .jag |
URI Parameters | ?action=isAPIOlderVersionExist&provider=xxx&name=xxx&version=xxx |
HTTP Methods | GET |
Example | curl -X POST -b cookies http://localhost:9763/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 | 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/ajax/life-cycles.jag' -d 'action=updateStatus&name=TwitterAPI&version=1.0.0&provider=provider&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&mode=Add&provider=xxx&apiName=xxx&version=xxx&docName=xxx&docType=xxx&sourceType=xxx&docUrl=xxx&summary=xxx&docLocation=xxx&docVisibility=owner_only/private Note that docVisibility is applicable only if you have enabled it. See API documentation visibility. 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 http://localhost:9763/publisher/site/blocks/documentation/ajax/docs.jag -d "action=addDocumentation&provider=admin&apiName=api1&version=1.0.0&docName=test&docType=how to&sourceType=inline&docUrl=&summary=testing&docLocation=" Update Document: curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/documentation/ajax/docs.jag -d "action=addDocumentation&mode=Update&provider=admin&apiName=AP1&version=1.0.0&docName=test&docType=how to&sourceType=inline&docUrl=&summary=new summary&docLocation=" |
Remove an API Document
Description | Remove an API document. |
URI | http://localhost:9763/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 http://localhost:9763/publisher/site/blocks/documentation/ajax/docs.jag -d 'action=removeDocume ntation&provider=admin&apiName=API1&version=1.0.0&docName=doc1&docType=How To' |