The Akamai Cloud Networking API

Orion is the name for a project that integrates Partners’ WAN with Akamai’s overlay network, which is based on the existing Sure Route IP (SRIP) network. WAN tunnels over Orion benefit from a set of services that the plain Internet IPSec Tunnels lack. These services which are existing SRIP services include:

  • Enhanced routing over the Internet

  • Resiliency against Internet congestion events

  • Improved packet delivery and mitigation against lossy paths

Scope

In this document we will define the various resources that the clients will have access to manage the product on the Akamai network. All operations are processed via the {OPEN} platform within Akamai and more information on Authentication and Authorization can be found at Getting Started guide.

All API responses in this doc are under the assumption that the user/client has method level access to the resource in question. Appropriate access errors will result otherwise. As a general rule of thumb, all Strings for the purpose of this document are UTF–8 encoded. All edits are absolute, i.e., when updating one updateable member, the client must retain the value of other fields to ensure only one member is updated. All specific names used in this doc are subject to change. The hostname key based on provided credentials forms the base URL for all the requests detailed in this guide.

Build

The build resource can be used to retrieve build information about the deployed project. The build information would have the versions, time, and the name of the of the person/process that built and current deployed the version of the project.

Build Members

Member Type Description
builder String Person/process that built the project.
buildTime String Time the project was built.
buildVersion String Version of the project.

The following operation is available for viewing Build objects:

  • Get Build Information: Use this GET operation to retrieve the build information of the deployed project.

Build objects cannot be modified in any way.

Customer

The customer resource represents customers within the Akamai systems. Customer information can be created, edited, deleted and retrieved. Provisioning a Customer with Akamai will return an Akamai Customer ID, which can be used to perform further operations on the Customer resource.

The CPC is used to create new customers and new CMCs for those customers; this type of a client is only available for the Resellers who can provision customers. The SPC is used to create new Customers and new CMC for that customer; this type of client is only available for the Service Providers who can provision customer. For additional details on Clients and Client Types, please refer to the ‘Show Clients’ Section in this documentation.

Customer Members

Member Type Description
akamaiCustomerId String Akamai ID of the customer generated by Akamai, maximum 50 characters.
customerContact String A contact for this customer, maximum 50 characters.
description String A description about this customer, maximum 4000 characters.
emailAddress String Email address of customer, maximum 50 characters.
expiryDate String Date when customer trial is expired, maximum 50 characters.
mailingAddress String Mailing address of customer, maximum 50 characters.
name String Customer Name given by CPC, maximum 1000 characters.
partnerCustomerId String Partner Customer unique ID (UUID), maximum 36 characters.
phoneNumber String Phone number of customer, maximum 50 characters.
status Enumeration Current status of the customer, either active, inactive, deleted, activation-in-progress, or deactivation-in-progress.
type String Customer Type supplied by CPC, maximum 100 characters.

Customer Debug Members

Member Type Description
createdBy String ID of entity that created the resource, maximum 50 characters.
createdDate String Timestamp when resource was first created, maximum 50 characters.
modifiedBy String ID of the entity that last modified the resource, maximum 50 characters.
modifiedDate String Timestamp when the resource was last modified, maximum 50 characters.
parentClientId String Client ID of the parent client, maximum 50 characters.

The following operations are available for viewing/modifying Customer objects:

  • List Customers: This GET operation displays customers and customer debug information belonging to a client.

  • Get a Customer: This GET operation displays the information associated with a particular customer ID that the client has access to.

  • Add a Customer: This POST operation registers a customer by the client if the particular identity has the access privileges to do so.

  • Modify a Customer: This PUT operation can be used by the client to edit a customer if the particular identity has the access privileges to do so.

  • Remove a Customer: This DELETE operation can be used by the caller to delete a customer if the particular identity has the access rights to do so.

  • Deactivate Customer: This POST operation can be used by the caller to deactivate a customer if the particular identity has the access rights to do so.

  • Reactivate Customer: This POST operation can be used by the caller to reactivate a customer if the particular identity has the access rights to do so.

Order

The order resource represents Orion customer’s order within the Akamai systems. Customer’s order information can be created, edited, deleted and retrieved.

Order Members

Member Type Description
akamaiCustomerId String Akamai ID of the customer, maximum 50 characters.
akamaiOrderId String Akamai ID of the customer’s order, maximum 50 characters.
bandwidth String The bandwidth purchased by the customer in this order, maximum 200 characters.
description String A brief description about this order, maximum 128 characters.
endDate Number Date when the order will expire, maximum 10000000.
geo Enumeration The geo location from where the customer would use the bandwidth., either na, eu, apac, mea, or sa.
partnerOrderId String Original order ID created at the time of purchase, maximum 50 characters.
startDate Number Date when the order is to be active, maximum 10000000.
status Enumeration Current status of this order, either active or deleted.

Order Debug Members

Member Type Description
createdBy String ID of entity that created the resource, maximum 50 characters.
createdDate String Timestamp when resource was first created, maximum 50 characters.
modifiedBy String ID of the entity that last modified the resource, maximum 50 characters.
modifiedDate String Timestamp when the resource was last modified, maximum 50 characters.

The following operations are available for viewing/modifying Customer Order objects:

  • Get an Order: To retrieve the information of a specific order for a particular customer, use this operation.

  • List Orders: To retrieve the information of all orders for a particular customer, use this operation.

  • Add an Order: A client to create a customer’s orders can use this operation. Multiple orders can be created using one operation. All orders will be created atomically in a transaction.

  • Modify an Order: This operation can be used to edit a customer’s order. If the order is expired, only the end date would be updated, all other members in the request would be ignored.

  • Remove an Order: This operation can be used by the caller to delete an order if the particular identity has access to do so.

Client

The client resource represents client credentials within the Akamai systems. Client information can be created, edited, deleted and retrieved. Provisioning a client with Akamai will return an Akamai Client ID, which can be used to perform further operations on the client resource.

A client within Akamai systems, currently fall in one of the two client types, namely Customer Provisioning Client (CPC) and Customer Management Client (CMC).

  • Customer Provisioning Client (CPC). The CPC is used to create new customers and new CMC for that customer; this type of client is only available for the Resellers who can provision customer.

  • Service Provisioning Client (SPC). The SPC is used to create new customers and new CMC for that customer; this type of client is only available for the Service Providers who can provision customer.

  • Customer Management Client (CMC). The CMC is a type of client created by CPC and the credentials to perform further operations using this client is given to the customer in the format of a file (a.k.a., “Activation File”). Customer should be in ‘Active’ state in order to create a CMC client for that Customer.

  • Customer View Client (CVC). The CVC client only has read access to the customer resource. When a customer is deactivated/deleted, all the CMC’s belonging to that customer would be converted to client of type CVC.

Client Members

Member Type Description
accessToken String An encrypted string identifying the access provided to client, maximum 50 characters.
clientSecret String A shared key used to sign the request header, maximum 128 characters.
clientToken String An encrypted string identifying the client, maximum 50 characters.
host String Base URL for accessing the API by this client, maximum 200 characters.

Client Debug Members

Member Type Description
akamaiCustomerId String Akamai ID of the customer, maximum 50 characters.
clientId String Client ID generate by Akamai, maximum 50 characters.
clientType Enumeration Type of Client, either CPC, CMC, CVC, or SPC.
createdBy String ID of entity that created the resource, maximum 50 characters.
createdDate String Timestamp when resource was first created, maximum 50 characters.
description String A brief description of the client, maximum 4000 characters.
modifiedBy String ID of the entity that last modified the resource, maximum 50 characters.
modifiedDate String Timestamp when the resource was last modified, maximum 50 characters.
parentClientId String Client ID of the parent client, maximum 50 characters.
serviceConsumerDomain String Akamai Service Consumer Domain, maximum 50 characters.
status Enumeration Current status of this client, either active or inactive.

The following operations are available for viewing/modifying Client objects:

  • List Clients: This GET operation displays client and client debug objects.

  • Get a Client: This GET operation displays the information associated with a particular client ID that the client has access to. A call with the same client ID as the requesting client will return a list of its own client information

  • Add a Client: This POST operation can be use to create another client if the particular identity has the access rights to do so.

  • Edit Client: This PUT operation can be used by the client to edit another client if the particular identity has the access rights to do so.

  • Deactivate a Client: This POST operation can be used by the caller to deactivate a client if the particular identity has the access rights to do so.

  • Reactivate a Client: This POST operation can be used by the caller to reactivate a client if the particular identity has the access rights to do so.

  • Rotate Client Secrets: This operation can be used by the caller to rotate a CMC client’s credential if the particular identity has access to do so. Once rotated, the client objects will have an alternate section with the newly created credential. At this time both sets of credentials are considered valid.

  • Complete Rotatation of a Client’s Secrets: This operation can be used by the caller to complete rotation of a CMC client credential if the particular identity has access to do so. Upon completion the alternate section becomes the primary section and the alternate section will no longer exist. Only one credential will be valid henceforth.

Akamai Edges

Edge node determination is done on Akamai Mapper, which has detailed information on the layout of the network and optimal edge locations for the specific site.

Edge Members

Member Type Description
edgeIp String IP address of the Akamai edge, maximum 15 characters.

The following operations are available for viewing Edge objects:

  • List Akamai Edges: A CMC can run this operation to get the list of Akamai Edge IPs based on the IP address of the WAN interface of the WAN router and the geo.

IPSec Keys

This resource can be used to manage the crypto pre-shared key. Only the CMC type client of a particular customer will have access to the keys.

IPSec Key Members

Member Type Description
alg String Crypto algorithm, maximum 50 characters.
geo Enumeration Geo for which the SPIs belong, either na, eu, apac, mea, or sa.
key String pre-shared IPSec key, maximum 50 characters.
spi String SPI, maximum 50 characters.

IPSec Key Debug Members

Member Type Description
roundStatus Enumeration Status of the round in which the keys were added, either current or pending.
type Enumeration Type being Primary or Alternate, either pri or alt.

The following operations are available for viewing Edge objects:

  • List IPSec Keys: A CMC can run this operation to get the current IPSec key(s). By default this operation will return only the current primary key, which the routers should be using.

Bandwidth Utilization Report

A service provider can make a call to this API to get the bandwidth utilization reports for a list of customers that it manages. Customers can run this operation to get their bandwidth utilization.

Bandwidth Utilization Report Members

Member Type Description
akamaiCustomerId Number Akamai ID of the customer.
bytesIn Number bytes in.
bytesOut Number bytes out.
endpointId Number the ID of the endpoint reporting the data.
geoId Number the region ID where the data was reported.
startDate String start date and time for data, maximum 50 characters.

The following operations are available for viewing Edge objects:

  • Get Bandwidth Report: A CMC can run this operation to get the bandwidth utilization for a specific customer.

Devices

The devices resource can be used to retrieve customer’s device information within the Akamai systems. Customer’s device information can be created, edited, deleted, deactivated, reactivated and retrieved.

Device Members

Member Type Description
akamaiCustomerId String Akamai ID of the customer, maximum 50 characters.
deviceComment String Customer’s comment while adding the device, maximum 1024 characters.
deviceId String Akamai ID of the customer’s device, maximum 50 characters.
deviceRefName String Customer provided reference name, maximum 100 characters.
deviceStatus Enumeration Current status of this device, either active, inactive, deleted, activation-in-progress, or deactivation-in-progress.
useSrip Boolean Akamai Acceleration property enabled or disabled, can be set as part of service’s acceleration policy.

Device Debug Members

Member Type Description
createdBy String ID of entity that created the resource, maximum 50 characters.
createdDate String Timestamp when resource was first created, maximum 50 characters.
modifiedBy String ID of the entity that last modified the resource, maximum 50 characters.
modifiedDate String Timestamp when the resource was last modified, maximum 50 characters.

The following operations are available for viewing/modifying customer’s device objects:

  • Get a Device: This operation can be used to retrieve information for a device that is not assigned to any customers, provided the identity has access rights to do so.

  • Get a Customer’s Device: This operation can be used to retrieve information for a device for specified customer, provided the identity has access rights to do so.

  • List Devices: This operation can be used to retrieve information for all devices that are not assigned to any customers, provided the identity has access rights to do so.

  • List a Customer’s Devices: This operation can be used to retrieve information for all devices for specified customer, provided the identity has access rights to do so.

  • Add a Device: This operation can be used to register a device without assigning it to a customer, provided the identity has access rights to do so.

  • Add a Device for a Customer: This operation can be used to register a device for a specific customer, provided the identity has access rights to do so.

  • Modify a Device: This operation can be used to edit a device that are not assigned to any customers, provided the identity has access rights to do so.

  • Modify a Customer’s Device: This operation can be used to edit a device for a specific customer, provided the identity has access rights to do so.

  • Remove a Device: This operation can be used to delete a device that are not assigned to any customers, provided the identity has access rights to do so.

  • Remove a Customer’s Device: This operation can be used to delete a device for a specific customer, provided the identity has access rights to do so.

  • Deactivate a Device: This POST operation can be used to deactivate a device that is not assigned to any customers, provided the identity has access rights to do so.

  • Deactivate a Customer’s Device: This POST operation can be used by the caller to deactivate a device if the particular identity has the access rights to do so.

  • Reactivate a Device: This POST operation can be used by the caller to reactivate a device if the particular identity has the access rights to do so.

  • Reactivate a Customer’s Device: This POST operation can be used by the caller to reactivate a device if the particular identity has the access rights to do so.

Secrets

The secrets resource can be used to retrieve customer’s secret information within the Akamai systems. Customer’s secret information can be created, edited, deleted, deactivated, reactivated and retrieved.

Secret Members

Member Type Description
akamaiSecretId String Akamai ID of the customer’s secret, maximum 50 characters.
certificateRequest String The certificate request sent by Akamai for user to generate certificate;.
certificate String The certificate generated by Akamai’s system;.
status Enumeration Current status of this certificate, either ACTIVE or INACTIVE.
type String Secret’s has two types, one from service provider to nevada (SP_TO_NV) and vice versa (NV_TO_SP), maximum 100 characters.

Secret Debug Members

Member Type Description
collection String Collection to store secret’s definition, maximum 1024 characters.
definition String Definition to define secret type, maximum 1024 characters.
index String Secret’s unique id for reference, maximum 50 characters.
isComplete Enumeration Check to see if the certificate is complete, either true or false.

The following operations are available for viewing/modifying customer’s secret objects:

  • Get a Secret: This operation can be used to retrieve information a specific secret of a customer, provided the identity has access rights to do so.

  • List Secrets: This operation can be used to retrieve information for all secrets of a customer, provided the identity has access rights to do so.

  • Add a Secret: This operation can be used to add a secret of a customer, provided the identity has access rights to do so.

  • Modify a Secret: This operation can be used to edit a secret of a customer, provided the identity has access rights to do so.

  • Remove a Secret: This operation can be used to delete a secret, provided the identity has access rights to do so.

  • Deactivate a Secret: This POST operation can be used to deactivate a secret, provided the identity has access rights to do so.

  • Reactivate a Secret: This POST operation can be used by the caller to reactivate a secret, if the particular identity has the access rights to do so.