Chat with us

Limelight Expands Developer Toolkit

Blog Post by Charlie Russell, Senior Product Marketing Manager

October 23, 2018

Adding a faster CDN to your content delivery environment is now easier than ever. Limelight’s new Configuration API lets your developers securely control Limelight services from other applications.

 

Limelight operates one of the world’s largest, highest-performing global CDNs, helping some of the world’s biggest and most successful businesses deliver better results. In this blog, we’ll introduce you to the new Limelight Configuration API, which lets you drive the Limelight network, and achieve better results for your organization, from your current production environment.

Use Your Current Software to Drive Limelight’s Ultra-Fast Network

For delivering online content, production environments may include a Content Management System (CMS), an Online Video Platform (OVP), web and streaming servers or services, and more. You may already have an integrated solution for managing the content and its delivery. So when it comes to adding Limelight’s faster CDN to your existing environment, you may prefer to control the new CDN from the existing solution.

 

Now, you can simply write calls to the no-cost Limelight Configuration API. Developers will appreciate the straightforward, well-documented REST API. Operations teams will appreciate the ability to control the new functionality from their familiar environment. And perhaps most importantly, your audience will appreciate the superior performance of Limelight content delivery.

 

The Limelight Configuration API suite lets you write hooks to manage Limelight content delivery service profiles and service instances from your current tools. The functionality is comparable to the configuration capabilities available in Limelight Control, our secure web-based portal. Authorized users can create, update, retrieve and delete content delivery services.

 

Here are some of the capabilities and attributes of the Limelight Configuration API.

Modern REST API Suite

The APIs are organized around configuration templates and configuration instances. Configuration templates (ServiceProfiles) define which options are required, default, allowed, and disallowed for each type of configuration. Configuration instances (ServiceInstances) represent each individual configuration itself, referencing a ServiceProfile upon which it’s based. The Limelight Configuration API uses the latest REST (Representational State Transfer) interfaces with GET, POST, PUT and DELETE methods and JSON content.

Robust Documentation with Plenty of Sample Code

Developer-friendly documentation details how to write configuration calls. Sample code is available in Java and Python. The documentation provides high-level information about tasks you can perform with the Configuration API, as well as the specifics needed to learn how to:

  • ■ Retrieve an Entity
  • ■ Determine Option Requirements Needed When Creating or Updating a Content Delivery Service Instance
  • ■ Validate a Service Instance
  • ■ Create a Service Instance
  • ■ Update a Service Instance
  • ■ Delete a Service Instance
  • ■ Disable a Service Instance
  • ■ Make an API Call

Tools for Managing Complex Configurations

Even advanced configurations are manageable, trackable and reproducible. A template-based service definition model makes it quick and easy to create multiple new valid instances. Features like automatic validation, automatic versioning with rollback and other tools help ensure quality and consistency. For managing configurations, retrieval supports filtering, paging and sorting queries, making it easy to track and organize large numbers of configurations.

Advanced Configuration Options

The Configuration API provides access to hundreds of configuration options. For additional flexibility, the syntax supports Required, Default and Allowed options. The API can be used to configure:

  • ■ Logging
  • ■ Request Handling
  • ■ Media Delivery
  • ■ Rate Limiting
  • ■ Cache Control
  • ■ Cookie Handling
  • ■ Header Control
  • ■ MediaVault
  • ■ Debugging

 

A single Service Instance may contain different configuration options for different protocol settings (that is, different options for HTTP vs HTTPS for the same published URL).

Automatic Validation

The validation process ensures that the Service Instance fulfills the option requirements. Each error object contains a key that indicates where in the request message the error occurred.

 

The error object also points to the location in the schema where the error occurred.

Versioning with Rollback

The Configuration API retains revision information on each entity, including “createdBy”:, “createdDate”: and “versionNumber”:. The “versionNumber”: is updated each time the given entity is manipulated by a caller.

Use Case Based Configurations

The documentation is rich with detailed examples with ready-to-use sample code for major use cases for the API. Use cases include details on URI template, description, security and options, and many include a ready-to-use request body sample.

Secure

Only authorized Specialized Applications Users with a valid Shared Key can access the API, with the ability to apply restrictions by shortname. Limelight’s REST APIs use a combination of symmetric key cryptography and Hashed Message Authentication Code (HMAC) for message authentication and user identification.

Additional API Libraries for Reporting & Analytics and Purge

You can also retrieve data about Limelight delivery for your reporting and analytics. Limelight has a Reporting REST API that you can use to feed information into your reports, dashboards and analytics. Limelight also offers a Purge API which offers programmatic access to SmartPurge features including the latest features like purge by tag.

 

For more information, please see the Configuration API datasheet.