APIs Service: Overview
The APIs service provides a REST interface and a set of operations for managing APIs in the Akana API Platform. This API includes operations to support complete API lifecycle management, including creating and managing APIs and API versions, managing API OAuth details, managing legal agreements and the API Board, API monitoring and documentation, and relationships between APIs and apps.
If you want to generate a list of APIs for a specific user, that operation is part of the Users service: GET /api/users/{UserID}/apis.
Note: Many of these operations take some sort of ID in one or more path parameters. For more information about these IDs and how to find the applicable values, see IDs on the Platform.
URL: https://{hostname}/api/apis
This overview includes two sections:
APIs Service: Full List of Operations
Action | Endpoint | Description |
---|---|---|
add API Administrator | POST /api/apis/{APIID}/administrators?UserID={UserID} is deprecated; use POST /api/groups/{GroupID}/members | Adds a new Administrator for the specified API. |
add API implementation | POST /api/apis/versions/{APIVersionID}/implementations | Adds an implementation for the specified API version. |
create API | POST /api/apis with specific headers | Defines an API from scratch, based on an existing service, or based on an API description document. |
create API version | POST /api/apis/{APIID}/versions | Adds a new API version on the platform; from scratch, based on an existing service, or based on an API description document. |
create new legal agreement | POST /api/apis/versions/{APIVersionID}/legals | Adds information about a new legal agreement for the specified API version. |
delete legal agreement document | DELETE /api/apis/versions/{APIVersionID}/legals/{LegalDocumentID} | Deletes the association between a specific legal agreement document and an API version. |
delete API | DELETE /api/apis/{APIID} | Deletes the specified API, including all API versions. |
delete API implementation | DELETE /api/apis/versions/{APIVersionID}/implementations/{ImplName} | Deletes the specified implementation for the specified API version. |
delete API version | DELETE /api/apis/versions/{APIVersionID} | Deletes the specified API version. |
execute workflow action | POST /api/apis/versions/{ApiVersionID}/action | Executes a workflow action associated with a specific API version. |
export API | GET /api/apis/{APIID}/package | Exports information about an API to an export file that can be imported to another platform instance. |
export API version | GET /api/apis/versions/{APIVersionID}/package | Exports information about an API version to an export file that can be imported to another platform instance. |
export metrics | GET /api/apis/versions/{APIVersionID}/metrics/export | Exports a summary of metric information for the specified API version, in the form of a CSV file. |
export usage logs | GET /api/apis/versions/{APIVersionID}/txlogs/export | Exports the transaction log for the specified API version to a CSV file. |
find API implementations | GET /api/apis/versions/implementations | Returns information about API implementations, based on a provided APIID, APIVersionID, Service Key, or implementation code. |
get API | GET /api/apis/{APIID} | Returns information about an API. With optional parameter, also returns the settings for the API. |
get API Administrators | GET /api/apis/{APIID}/admins is deprecated; use GET /api/groups/{GroupID}/members | Returns a list of Administrators for the specified API. |
get API auto-connect settings | GET /api/apis/versions/{APIVersionID}/autosettings | Returns the auto-connect settings for the specified API version. |
get API document | GET /api/apis/versions/{APIVersionID}/definition/{Specification} or GET /api/apis/versions/{APIVersionID}/definition/{Specification} | Returns the generated API description document for the specified API version. With the optional IncludeDocId parameter, returns the generated API description document in the specified format, such as Swagger. |
get API implementation | GET /api/apis/versions/{APIVersionID}/implementations/{ImplCode} | Returns information about the specified implementation for the specified API version. |
get API implementation debug options | GET /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/debug | Returns information about the debug mode setting for the specified API implementation. |
get API implementation deployment suggestions | GET /api/apis/versions/{APIVersionID}/implementations/{ImplCode}/deploymentsuggestions | Returns information about suggested deployment zones for an API version (virtual service) based on the API definition and deployment zone definitions. |
get API implementation policies | GET /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/policies | Returns information about the policies assigned to the specified implementation for the specified API version, including policies assigned to individual operations in the implementation. |
get API implementation target policies Valid in version: 2020.2.0 |
GET /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/target-policies | Returns information about the policies assigned to the specified implementation for the specified API version. |
get API implementations | GET /api/apis/services | Returns a list of valid current services matching the query parameter provided, for selection when creating an API from an existing service. |
get API licenses | GET /api/apis/versions/{APIVersionID}/licenses | Returns information about the licenses that apply to the specified API version. |
get API scope visible to user | GET /api/apis/versions/{APIVersionID}/scope | Returns information about the current user's visibility of the API, based on an aggregate of all the visibility scopes assigned to all the groups that the user is a member of, for the specified API version. |
get API settings | GET /api/apis/{APIID}/settings | Returns a list of settings for the specified API. |
get API version | GET /api/apis/versions/{APIVersionID} | Returns information about the specified API version. |
get API version connection environments | GET /api/apis/versions/{APIVersionID}/contracts/environments | Returns information about the implementations (previously called environments) for the specified API version. |
get API version design | GET /api/apis/versions/{APIVersionID}/design | Returns information about the API design for the specified API version, in the form of a Swagger document. |
get API version governing workflow | GET /api/apis/versions/{APIVersionID}/governingworkflow | Returns information about the workflow governing the specified API version. |
get API versions | GET /api/apis/{APIID}/versions | Returns a list of versions associated with the specified API, as an RSS channel. |
get API version settings | GET /api/apis/versions/{APIVersionID}/settings | Returns a list of settings for the specified API version. |
get avatar | GET /api/apis/{APIID}/avatars/{AvatarVersionID}.png | Retrieves the specified avatar version associated with the specified resource. The avatar might be the current one or an earlier one. |
get Board | GET /api/apis/{APIID}/board | Returns a list of Forum entries for the specified API. |
get connected apps | GET /api/apis/versions/{APIVersionID}/connectedapps | Returns a list of apps that are connected to the specified API version. |
get contract versions | GET /api/apis/versions/{APIVersionID}/contracts | Returns information about contracts for the specified API version. |
get default avatar | GET /api/apis/{APIID}/avatar | Returns the default (current) avatar for the specified resource. |
get followers | GET /api/apis/{APIID}/followers | Returns information about the users who are following the specified API. |
get legals | GET /api/apis/versions/{APIVersionID}/legals | Retrieves a summary of information about active legal documents for the specified API version in RSS format. |
get legals list | GET /api/apis/versions/{APIVersionID}/legals (with custom headers) | Retrieves a summary of information about active legal documents for the specified API version. The response is in JSON format. |
get license report | GET /api/apis/versions/{APIVersionID}/licensereport | Returns the report definition relating to licenses for the specified API version, for the specified ReportType. |
get metrics | GET /api/apis/versions/{APIVersionID}/metrics | Returns a set of metric information for the specified API version, in JSON or XML format, that can be used to create a chart. |
get metrics for operation | GET /api/apis/versions/{APIVersionID}/environments/{Environment}/operations/{OperationName}/metrics | Returns a set of metric information for the specified operation in the specified environment that can be used to create a chart. |
get operation resources | GET /api/apis/versions/{APIVersionID}/resources | Returns information about operation-specific scope mapping for an API version. |
get private viewer scope | GET /api/apis/versions/{APIVersionID}/viewers/{ViewerID}/scope | Returns information about scope visibility for a specific API version, for a specific group that might visibility of the API. |
get private viewers | GET /api/apis/versions/{APIVersionID}/viewers | Returns a list of viewers (groups) that can view the specified API. |
get ranges | GET /api/apis/versions/{APIVersionID}/metrics/ranges | Returns a range of metric info for a specified API. |
get rating | GET /api/apis/versions/{ID}/ratings/{UserID} | Returns a specific user's rating for a resource. |
get rating summary | GET /api/apis/versions/{ID}/ratings/summary | Retrieves a summary of the ratings for a resource. |
get service asset | GET /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/services/{ServiceID} | Returns information about the service for a specific API version implementation. |
get service endpoints | GET /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/services/{ServiceID}/endpoints | Returns information about one or more endpoints (physical service or virtual service) for a specific API version, implementation, service. |
get Swagger API document | Do not use GET /api/apis/versions/{APIVersionID}/swagger/{SwaggerPath}. Instead, use GET /api/apis/versions/{APIVersionID}/definition/{Specification} to return the API description format, such as Swagger. | Returns the Swagger version 1.1 API document for the specified API version, showing the details for each operation, in JSON or XML format. |
get Swagger resource document | GET /api/apis/versions/{APIVersionID}/swagger | Returns the automatically-generated Swagger version 1.1 resource document for the specified API version, showing the path to each resource. |
get transaction record | GET /api/apis/versions/{APIVersionID}/txlogs/{TransactionID} | Returns information about a specific transaction for an API version. |
get transaction logs | GET /api/apis/versions/{APIVersionID}/txlogs | Returns up to 1000 transaction logs for the specified API version. If no count parameters specified, returns 100 transactions. |
get transaction logs for operation | GET /api/apis/versions/{APIVersionID}/environments/{Environment}/operations/{OperationName}/txlogs | Returns transaction logs for the specified operation in the specified environment. |
get version board | GET /api/apis/{APIVersionID}/board | Returns a list of Forum entries for the specified API version. |
invite private viewer | POST /api/apis/versions/{APIVersionID}/viewers/{ViewerID} | Invites a group to connect to a Private API. When the group is connected, group members can view the API. |
invite private viewer with scope | POST /api/apis/versions/{APIVersionID}/viewers | Invites a group to have visibility of an API version, and also specifies visibility permissions—one or more specific licenses, or unlimited visibility. |
list all API versions | GET /api/apis/versions | Returns information about API versions for all APIs, in the form of a JSON or XML object. |
list APIs | GET /api/apis | Returns a list of all APIs on the platform. With an optional parameter, lists APIs owned by a specific business organization. |
list API summaries | GET /api/apis | Returns information about APIs on the platform. With the optional query parameter, returns information about the APIs associated with the specified business organization. |
list API versions | GET /api/apis/versions | Returns information about API versions for all APIs, in the form of an RSS channel. |
list contracts | GET /api/apis/versions/{APIVersionID}/contracts | Returns information about contracts for the specified API version, in the form of a JSON object. |
modify API implementation deployments | PUT /api/apis/versions/{APIVersionID}/implementations/{ImplCode}/deployments | Modifies an existing deployment of an implementation (virtual service) for a specific API version. |
modify API implementation policies | PUT /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/policies | Modifies the policy assignments for the specified implementation for the specified API version. |
modify API implementation target policies Valid in version: 2020.2.0 |
PUT /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/target-policies | Modifies the policy assignments for the specified implementation for the specified API version. |
modify API version design | PUT /api/apis/versions/{APIVersionID}/design | Updates an API version by providing an update to the API description. |
modify extension properties | PUT /api/apis/versions/{APIVersionID}/extensions | Updates the Lifecycle Manager extension properties for the specified API version. |
modify legal details | PUT /api/apis/versions/{APIVersionID}/legals/{LegalDocumentID}/details | Modifies information about a legal document for the specified API (name or description). |
modify legal state | PUT /api/apis/versions/{APIVersionID}/legals/{LegalDocumentID}/state | Modifies the State of a legal document associated with a specified API version. |
remove API Administrator | DELETE /api/apis/{APIID}/administrators/{UserID} is deprecated; use DELETE /api/groups/{GroupID}/members/{UserID} | Removes the specified user from the Administrator role for the specified API. |
save API auto-connect settings | PUT /api/apis/versions/{APIVersionID}/autosettings | Adds or updates the auto-connect settings for the specified API version. |
save API OAuth details |
PUT /api/apis/versions/{APIVersionID}/oauthdetails (with content-type application/vnd.soa.v2019+json) |
Adds or modifies the OAuth details for the specified API version. Supports multiple OAuth Providers. |
save operation resources | PUT /api/apis/versions/{APIVersionID}/resources | Adds or updates information about operation-specific scope mapping for an API version. |
save private viewer scope | PUT /api/apis/versions/{APIVersionID}/viewers/{ViewerID} | Saves private viewer scope for an API. |
save service endpoints | PUT /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/services/{ServiceID}/endpoints | Modifies information about one or more physical service endpoints for a specific API version, implementation, service. |
uninvite private viewer | DELETE /api/apis/versions/{APIVersionID}/viewers/{ViewerID} | Removes the connection between a viewer (group) and a private API. The viewer (group) will no longer have access to the Private API and cannot see it once the connection is removed. |
update API implementation debug options | PUT /api/apis/versions/{ApiVersionID}/implementations/{ImplCode}/debug | Changes the debug mode setting for the specified API implementation. |
update API implementation info | PUT /api/apis/versions/{APIVersionID}/implementations/{ImplCode}/info | Updates information about the specified implementation for the specified API version. |
update API version info | PUT api/apis/versions/{ApiVersionID}/info | Updates information about an API or API version. |
update rating | PUT apis/versions/{ID}/ratings/{UserID} | Adds or updates a specific user's rating for a resource. If the rating doesn't exist, this operation adds it; if it already exists, the operation updates it. |
APIs Service: Operation Categories
The operations in the APIs service can be divided into the logical groupings listed below. Each of these groups addresses adding, changing, retrieving, or deleting various resources relating to APIs in the Akana API Platform.
API Administrators
These operations allow you to add, update, and remove members from the API Administrator group.
- Add API Administrator: POST /api/apis/{APIID}/administrators is deprecated; use POST /api/groups/{GroupID}/members
- Get API Administrators: GET /api/apis/{APIID}/admins is deprecated; use GET /api/groups/{GroupID}/members
- Remove API Administrator: DELETE /api/apis/{APIID}/administrators/{UserID} is deprecated; use DELETE /api/groups/{GroupID}/members/{UserID}
API Definition
These operations allow you to add, update, and delete an API or API version.
- add API: POST apis
- add API version: POST /api/apis/{APIID}/versions
- Get API implementations: GET /api/apis/services
- update API or API version: PUT /api/apis/versions/{ApiVersionID}/info
- Delete API: DELETE /api/apis/{APIID}
- Delete API version: DELETE /api/apis/versions/{APIVersionID}
Browse/Get API
These operations allow you to retrieve information about one or more APIs or API versions.
- Get API: GET /api/apis/{APIID}
- Get API settings: GET /api/apis/{APIID}/settings
- get API version: GET /api/apis/versions/{APIVersionID}
- Get API versions: GET /api/apis/{APIID}/versions
- Get API version settings: GET /api/apis/versions/{APIVersionID}/settings
- List APIs: GET /api/apis
- List API versions: GET /api/apis/versions
API OAuth Details
This operation allows you to either store or update an API's OAuth settings.
- save API OAuth details: PUT /api/apis/versions/{APIVersionID}/oauthdetails
API Monitoring
These operations allow you to monitor and report on an API's metrics and to export the reporting information.
- Get metrics: GET /api/apis/versions/{APIVersionID}/metrics
- Get ranges: GET /api/apis/versions/{APIVersionID}/metrics/ranges
- Get transaction record: GET /api/apis/versions/{APIVersionID}/txlogs/{TransactionID}
- Get transaction logs: GET /api/apis/versions/{APIVersionID}/txlogs
- Export metrics: GET /api/apis/versions/{APIVersionID}/metrics/export
- Export usage logs: GET /api/apis/versions/{APIVersionID}/txlogs/export
API Documentation
These operations allow you to manage Swagger documents, used for automatic generation of reference documentation for your API.
- Get API document: GET /api/apis/versions/{APIVersionID}/definition/{Specification} or GET /api/apis/versions/{APIVersionID}/definition/{Specification}
- Get Swagger Resource Document: GET /api/apis/versions/{APIVersionID}/swagger.{format}
API Legal Agreements
These operations allow you to add, modify, retrieve, or delete legal agreements associated with your API.
- Create new legal agreement: POST /api/apis/versions/{APIVersionID}/legals
- Modify legal details: PUT /api/apis/versions/{APIVersionID}/legals/{LegalDocumentID}/details
- Modify legal state: PUT /api/apis/versions/{APIVersionID}/legals/{LegalDocumentID}/state
- Get legals: GET /api/apis/versions/{APIVersionID}/legals
- Delete legal agreement document: DELETE /api/apis/versions/{APIVersionID}/legals/{LegalDocumentID}
For more information about managing legal agreements for your API, see Managing Legal Agreements on the Platform.
API Board
These operations allow you to retrieve information about the Board for an API or API version.
- Get Board: GET /api/apis/{APIID}/board
- Get version Board: GET /api/apis/{APIVersionID}/board
API/App Relationships
These operations allow you to retrieve information about your API's relationships with apps.
- Get contract versions: GET /api/apis/versions/{APIVersionID}/contracts
- Get connected apps: GET /api/apis/versions/{APIVersionID}/connectedapps
Export
These operations allow you to export information about the API.
- Export API: GET /api/apis/{APIID}/package
- Export API version: GET /api/apis/versions/{APIVersionID}/package
Private APIs
These operations allow you to retrieve information about viewers who can see your Private API.
- Get private viewers: GET /api/apis/versions/{APIVersionID}/viewers
- Invite private viewer: POST /api/apis/versions/{APIVersionID}/viewers/{ViewerID}
- Uninvite private viewer: DELETE /api/apis/versions/{APIVersionID}/viewers/{ViewerID}
API Followers
These operations allow you to retrieve information about users who are following your API.
- Get Followers: GET /api/apis/{APIID}/followers
API Licenses
These operations allow you to retrieve information about licenses associated with the API, if the API is using the Licenses feature.
- Get API licenses: versions/{APIVersionID}/licenses
- Get license report: GET /api/apis/versions/{APIVersionID}/licensereport
API Ratings
These operations allow you to add, update, or view an API's user-defined rating or to view an overall rating summary.
- Get rating: GET /api/apis/versions/{ID}/ratings/{UserID}
- Get rating summary: GET /api/apis/versions/{ID}/ratings/summary
- Update rating: PUT apis/versions/{ID}/ratings/{UserID}
API Scopes
These operations allow you to manage scopes associated with the API, if the API is using the Licenses feature.
- Get API scope visible to user: GET /api/apis/versions/{APIVersionID}/scope
- Get operation resources: GET /api/apis/versions/{APIVersionID}/resources
- Get private viewer scope: GET /api/apis/versions/{APIVersionID}/viewers/{ViewerID}/scope
- Invite private viewer with scope: POST /api/apis/versions/{APIVersionID}/viewers
- Save operation resources: PUT /api/apis/versions/{APIVersionID}/resources
- Save private viewer scope: PUT /api/apis/versions/{APIVersionID}/viewers/{ViewerID}
Images/Avatars
These operations allow you to retrieve information about the avatar associated with your API.
- Get default avatar: GET /api/apis/{APIID}/avatar
- Get avatar: GET /api/apis/{APIID}/avatars/{AvatarVersionID}.png
API Workflow
These operations allow you to manage the workflow associated with your API.
- Get API version governing workflow: GET /api/apis/versions/{APIVersionID}/governingworkflow