Jade provides the entire Business Logic layer for Flexiant Cloud Orchestrator. Jade provides three APIs:
- A user API, used by end users for manipulating virtual resources on the platform (available by REST and SOAP);
- An admin API used by administrators for various administrative functions (available by REST and SOAP); and
- An open API, available unauthenticated for retrieving objects prior to authentication (available by REST only).
There is also an API for programs developed by the Licensee in Flexiant Development Language.
There are further APIs within the system which the Licensee should not normally use.
API Endpoints
/[apiprotocol]/[apiname]/[apiversion]
In the above:
apiprotocol
can take the valuessoap
orrest
(though note the open API is only available under REST)apiname
can take the valuesuser
,admin
, oropen
apiversion
can take the either a major API version number, or the valuecurrent
for the most recent version of the API.
For instance, if the control panel URL of a billing entity was https://cp.example.com/
the current version of the admin API can be accessed by REST at the endpoint https://cp.example.com/rest/admin/current/
Note that any billing entity URL will work for any call, i.e. the same API is reflected multiple times. User authentication takes care of multitenancy of the API.
The remainder of the URL depends on the protocol being used.
For REST, you will also need to append the REST path to the end of the endpoint URL. This varies depending on the call you are making to the API and the resource you are modifying. For example, if you are making a getResource
call for a customer resource, you would need to append /resources/customer/[uuid]
to the endpoint, where [uuid]
is the UUID of the resource to be retrieved, i.e. use https://cp.example.com/rest/admin/current/resources/customer/[uuid]
?wsdl
- in the above example for the current SOAP admin API the WSDL would be https://cp.example.com/soap/admin/current/?wsdl
API Versions
5.0.20150212183338
consists of major version 5.0
and minor version 20150212183338
.5.0
(aliased tocurrent
)4.2
If you wish your code to continue to use the same version API after an upgrade to a major version of FCO beyond 5.0, you should use 5.0
in the endpoint URL, not current
.
The minor version is a date string in the format YYYYMMDDhhmmss
. API changes within the same major versions are kept to a minimum, but each minor change to the API will result in a new (greater) version number.
The API version is returned in an X-Api-Version
HTTP header, and under SOAP also in an apiVersion
SOAP header.
User API
Jade's user API allows end users of the platform to manipulate their own virtual resources. Authentication is by user and customer, meaning that a user who is so permitted can manipulate resources of different customers using the appropriate authentication credentials.
Administrators can use the user API, authenticating as the administrator but passing the UsernameToken
SOAP header (SOAP) or X-AssumeToken
HTTP header (REST) set to the authentication username (the login username, a slash, and the customer UUID) of the customer concerned; see Authenticating to the APIs for more details.
Admin API
Jade's admin API provides a means for users with administrative access to perform administrative functions on the platform. Users with administrative access are:
- Master Billing Entity administrators (administrators of the licensee who can administer all billing entities)
- Other Billing Entity administrators (administrators of other billing entities, for instance resellers, who can only administer the Billing Entity to which they belong)
Jade provides an interface to allow authenticated administrators to perform administrative functions only within the Billing Entities they are authorised to use. For instance, they can:
- List, search for, create, delete, or modify customers or users;
- List transactions performed by a particular customer, or perform those transactions on the customer's behalf; and
- Create, modify or delete Product Offers within the system.
Jade's admin API does not permit administrators to manipulate the virtual resources of customers directly. In order to manipulate customer resources, administrators should use the User API, authenticating as the administrator but passing the UsernameToken
SOAP header (SOAP) or X-AssumeToken
HTTP header (REST) set to the authentication username (the login username, a slash, and the customer UUID) of the customer concerned. For more details see Authenticating to the APIs.
Open API
Jade's open API provides a means for unauthenticated users to retrieve in a read-only manner certain resources without authentication. For instance, to allow the sign-on screen in Skyline to retrieve login graphics, blobs are retrieved which are marked as public.
Getting Started
There is an outline of the Key Jade Concepts available, and see also Authenticating to the APIs. For the SOAP APIs, see About the SOAP APIs. For the REST APIs, see About the REST APIs.